diff options
author | unknown <mleich@five.local.lan> | 2008-03-07 17:33:07 +0100 |
---|---|---|
committer | unknown <mleich@five.local.lan> | 2008-03-07 17:33:07 +0100 |
commit | d6e42aace333c5bbb7d1b76835e6947d1dac916c (patch) | |
tree | 77c7d3cc0e4c96cd3b8c68417eb90569010b03a8 /mysql-test/suite/funcs_1 | |
parent | 1cddfc2f42afe1767388f1591648a45b211e778e (diff) | |
download | mariadb-git-d6e42aace333c5bbb7d1b76835e6947d1dac916c.tar.gz |
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 (accepted by reviewer)
- problems found during tests with 5.0.56 in build environment
mysql-test/suite/funcs_1/t/innodb_storedproc_02.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_03.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_06.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_07.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_08.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_10.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_07.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_08.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
Change mode to -rw-rw-r--
BitKeeper/deleted/.del-innodb__load.test:
Delete: mysql-test/suite/funcs_1/t/innodb__load.test
BitKeeper/deleted/.del-innodb__load.result:
Delete: mysql-test/suite/funcs_1/r/innodb__load.result
BitKeeper/deleted/.del-myisam__load.test:
Delete: mysql-test/suite/funcs_1/t/myisam__load.test
BitKeeper/deleted/.del-memory__load.test:
Delete: mysql-test/suite/funcs_1/t/memory__load.test
BitKeeper/deleted/.del-memory__load.result:
Delete: mysql-test/suite/funcs_1/r/memory__load.result
BitKeeper/deleted/.del-myisam__load.result:
Delete: mysql-test/suite/funcs_1/r/myisam__load.result
BitKeeper/deleted/.del-create_database.inc:
Delete: mysql-test/suite/funcs_1/include/create_database.inc
BitKeeper/deleted/.del-create_user_lowest_priv.inc:
Delete: mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc
BitKeeper/deleted/.del-create_user_no_super.inc:
Delete: mysql-test/suite/funcs_1/include/create_user_no_super.inc
BitKeeper/deleted/.del-datadict_help_tables_build.result:
Delete: mysql-test/suite/funcs_1/r/datadict_help_tables_build.result
BitKeeper/deleted/.del-datadict_help_tables_build.test:
Delete: mysql-test/suite/funcs_1/t/datadict_help_tables_build.test
BitKeeper/deleted/.del-datadict_help_tables_dev.result:
Delete: mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result
BitKeeper/deleted/.del-datadict_help_tables_dev.test:
Delete: mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test
BitKeeper/deleted/.del-datadict_master.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_master.inc
BitKeeper/deleted/.del-datadict_show_schema.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc
BitKeeper/deleted/.del-datadict_show_table_design.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc
BitKeeper/deleted/.del-datadict_tables.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables.inc
BitKeeper/deleted/.del-datadict_tables_error.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc
BitKeeper/deleted/.del-datadict_tables_error_1.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc
BitKeeper/deleted/.del-datadict_tables_error_1044.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc
BitKeeper/deleted/.del-datadict_tables_error_1049.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc
BitKeeper/deleted/.del-datadict_tables_error_1051.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc
BitKeeper/deleted/.del-datadict_tables_error_1146.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc
BitKeeper/deleted/.del-datadict_tables_error_1288.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc
BitKeeper/deleted/.del-innodb__datadict.result:
Delete: mysql-test/suite/funcs_1/r/innodb__datadict.result
BitKeeper/deleted/.del-innodb__datadict.test:
Delete: mysql-test/suite/funcs_1/t/innodb__datadict.test
BitKeeper/deleted/.del-memory__datadict.test:
Delete: mysql-test/suite/funcs_1/t/memory__datadict.test
BitKeeper/deleted/.del-myisam__datadict.result:
Delete: mysql-test/suite/funcs_1/r/myisam__datadict.result
BitKeeper/deleted/.del-myisam__datadict.test:
Delete: mysql-test/suite/funcs_1/t/myisam__datadict.test
BitKeeper/deleted/.del-memory__datadict.result:
Delete: mysql-test/suite/funcs_1/r/memory__datadict.result
mysql-test/suite/funcs_1/README.txt:
Cleanup in description
mysql-test/suite/funcs_1/include/memory_tb1.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb2.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb3.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb4.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/sp_tb.inc:
Remove outdated comment
mysql-test/suite/funcs_1/r/innodb_bitdata.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_cursors.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_views.result:
Updated results
mysql-test/suite/funcs_1/r/memory_bitdata.result:
Updated results
mysql-test/suite/funcs_1/r/memory_cursors.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/memory_views.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_bitdata.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_cursors.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_views.result:
Updated results
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/t/innodb_bitdata.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_cursors.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_0102.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_03.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_08.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_09.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_frkey.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_views.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_bitdata.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_cursors.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_0102.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_03.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_08.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_09.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_1011ext.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_views.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_bitdata.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_cursors.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_0102.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_03.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_08.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_09.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_views.test:
Cleanup
mysql-test/suite/funcs_1/t/charset_collation_1.test:
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 1
mysql-test/suite/funcs_1/t/charset_collation_2.test:
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 2
mysql-test/suite/funcs_1/t/charset_collation_3.test:
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 3
mysql-test/suite/funcs_1/t/is_basics_mixed.test:
Test some basic properties which are independend of the storage
engine used for the creation of tables.
mysql-test/suite/funcs_1/t/is_character_sets.test:
Tests related to functionality of
information_schema.character_sets
mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test:
Tests related to functionality of
information_schema.collation_character_set_applicability
mysql-test/suite/funcs_1/t/is_collations.test:
Tests related to functionality of
information_schema.collations
mysql-test/suite/funcs_1/t/is_column_privileges.test:
Tests related to functionality of
information_schema.column_privileges
mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test:
Check content of information_schema.column_privileges about databases
mysql and test
mysql-test/suite/funcs_1/t/is_columns.test:
Tests related to functionality of
information_schema.columns
mysql-test/suite/funcs_1/t/is_columns_innodb.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for InnoDB
mysql-test/suite/funcs_1/t/is_columns_is.test:
Check content of information_schema.columns about schema
information_schema
mysql-test/suite/funcs_1/t/is_columns_memory.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for MEMORY
mysql-test/suite/funcs_1/t/is_columns_myisam.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for MyISAM
mysql-test/suite/funcs_1/t/is_columns_mysql.test:
Check content of information_schema.columns about schema
mysql
mysql-test/suite/funcs_1/t/is_columns_ndb.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for NDB
mysql-test/suite/funcs_1/t/is_key_column_usage.test:
Tests related to functionality of
information_schema.key_column_usage
mysql-test/suite/funcs_1/t/is_routines.test:
Tests related to functionality of
information_schema.routines
mysql-test/suite/funcs_1/t/is_schema_privileges.test:
Tests related to functionality of
information_schema.schema_privileges
mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test:
Check content of information_schema.schema_privileges about schemas
information_schema, mysql and test
mysql-test/suite/funcs_1/t/is_schemata.test:
Tests related to functionality of
information_schema.schemata
mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test:
Check content of information_schema.schemata about schemas
information_schema, mysql and test
mysql-test/suite/funcs_1/t/is_statistics.test:
Tests related to functionality of
information_schema.statistics
mysql-test/suite/funcs_1/t/is_statistics_is.test:
Check content of information_schema.statistics about schema
information_schema
mysql-test/suite/funcs_1/t/is_statistics_mysql.test:
Check content of information_schema.statistics about schema
mysql
mysql-test/suite/funcs_1/t/is_table_constraints.test:
Tests related to functionality of
information_schema.table_constraints
mysql-test/suite/funcs_1/t/is_table_constraints_is.test:
Check content of information_schema.table_constraints about schema
information_schema
mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test:
Check content of information_schema.table_constraints about schema
mysql
mysql-test/suite/funcs_1/t/is_table_privileges.test:
Tests related to functionality of
information_schema.table_privileges
mysql-test/suite/funcs_1/datadict/basics_mixed1.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/basics_mixed2.inc:
Auxiliary script
mysql-test/suite/funcs_1/include/cleanup.inc:
Auxiliary script
mysql-test/suite/funcs_1/r/charset_collation_1.result:
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_2.result:
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_3.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_basics_mixed.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_character_sets.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_collations.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_column_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_memory.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_ndb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_key_column_usage.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_routines.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schema_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schemata.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_innodb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_memory.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_triggers.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_user_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_views.result:
Expected result for new test
mysql-test/suite/funcs_1/t/is_tables.test:
Tests related to functionality of
information_schema.tables
mysql-test/suite/funcs_1/t/is_tables_innodb.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for InnoDB
mysql-test/suite/funcs_1/t/is_tables_is.test:
Check content of information_schema.tables about schema
information_schema
mysql-test/suite/funcs_1/t/is_tables_memory.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for MEMORY
mysql-test/suite/funcs_1/t/is_tables_myisam.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for MyISAM
mysql-test/suite/funcs_1/t/is_tables_mysql.test:
Check content of information_schema.tables about schema
mysql
mysql-test/suite/funcs_1/t/is_tables_ndb.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for NDB
mysql-test/suite/funcs_1/t/is_triggers.test:
Tests related to functionality of
information_schema.triggers
mysql-test/suite/funcs_1/t/is_user_privileges.test:
Tests related to functionality of
information_schema.user_privileges
mysql-test/suite/funcs_1/t/is_views.test:
Tests related to functionality of
information_schema.views
mysql-test/suite/funcs_1/datadict/basics_mixed3.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/charset_collation.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/columns.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/datadict.pre:
Auxiliary script
mysql-test/suite/funcs_1/datadict/is_table_query.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/statistics.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/table_constraints.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/tables1.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/tables2.inc:
Auxiliary script
Diffstat (limited to 'mysql-test/suite/funcs_1')
226 files changed, 22865 insertions, 44902 deletions
diff --git a/mysql-test/suite/funcs_1/README.txt b/mysql-test/suite/funcs_1/README.txt index bf6ac945cb1..7e98d1bc117 100644 --- a/mysql-test/suite/funcs_1/README.txt +++ b/mysql-test/suite/funcs_1/README.txt @@ -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 +========================= + +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' -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. - - 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 --git a/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc new file mode 100644 index 00000000000..2cb9cbc700b --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/basics_mixed1.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc new file mode 100644 index 00000000000..6b1f07798fb --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/basics_mixed2.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc b/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc new file mode 100644 index 00000000000..f6a290636d9 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/basics_mixed3.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/charset_collation.inc b/mysql-test/suite/funcs_1/datadict/charset_collation.inc new file mode 100644 index 00000000000..f8fc58b082b --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/charset_collation.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/columns.inc b/mysql-test/suite/funcs_1/datadict/columns.inc new file mode 100644 index 00000000000..86f8afeff73 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/columns.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict.pre b/mysql-test/suite/funcs_1/datadict/datadict.pre new file mode 100644 index 00000000000..cedc24aad13 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/datadict.pre @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_master.inc b/mysql-test/suite/funcs_1/datadict/datadict_master.inc deleted file mode 100644 index 0499d3945e2..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_master.inc +++ /dev/null @@ -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@1.2477.6.3, 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 --git a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc deleted file mode 100644 index 35060cefbf8..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc b/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc deleted file mode 100644 index e406d80f7f5..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables.inc deleted file mode 100644 index 00ec93095ea..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc deleted file mode 100644 index a551266c447..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc deleted file mode 100644 index d04459991cc..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc deleted file mode 100755 index a8876ee7db6..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc deleted file mode 100644 index 4b12c836e92..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc deleted file mode 100644 index 109b2ecd7da..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc deleted file mode 100644 index 5fa6d705b26..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc b/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc deleted file mode 100644 index e64226f0d35..00000000000 --- a/mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/datadict/is_table_query.inc b/mysql-test/suite/funcs_1/datadict/is_table_query.inc new file mode 100644 index 00000000000..3ed7413167a --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_table_query.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/statistics.inc b/mysql-test/suite/funcs_1/datadict/statistics.inc new file mode 100644 index 00000000000..00fd7a1b06b --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/statistics.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/table_constraints.inc b/mysql-test/suite/funcs_1/datadict/table_constraints.inc new file mode 100644 index 00000000000..9e57976862b --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/table_constraints.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/tables1.inc b/mysql-test/suite/funcs_1/datadict/tables1.inc new file mode 100644 index 00000000000..a03304028f6 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/tables1.inc @@ -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 --git a/mysql-test/suite/funcs_1/datadict/tables2.inc b/mysql-test/suite/funcs_1/datadict/tables2.inc new file mode 100644 index 00000000000..1066e52f8f0 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/tables2.inc @@ -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 --git a/mysql-test/suite/funcs_1/include/cleanup.inc b/mysql-test/suite/funcs_1/include/cleanup.inc new file mode 100644 index 00000000000..ef8b8f01cfa --- /dev/null +++ b/mysql-test/suite/funcs_1/include/cleanup.inc @@ -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 --git a/mysql-test/suite/funcs_1/include/create_database.inc b/mysql-test/suite/funcs_1/include/create_database.inc deleted file mode 100644 index aa11d936aa3..00000000000 --- a/mysql-test/suite/funcs_1/include/create_database.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc b/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc deleted file mode 100644 index d9ec367b524..00000000000 --- a/mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/include/create_user_no_super.inc b/mysql-test/suite/funcs_1/include/create_user_no_super.inc deleted file mode 100644 index 0de923bf98b..00000000000 --- a/mysql-test/suite/funcs_1/include/create_user_no_super.inc +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/include/memory_tb1.inc b/mysql-test/suite/funcs_1/include/memory_tb1.inc index 93cc91a4b17..7d66443c62f 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb1.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb1.inc @@ -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 --git a/mysql-test/suite/funcs_1/include/memory_tb2.inc b/mysql-test/suite/funcs_1/include/memory_tb2.inc index 6ee0f064e68..869a4904ce0 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb2.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb2.inc @@ -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 --git a/mysql-test/suite/funcs_1/include/memory_tb3.inc b/mysql-test/suite/funcs_1/include/memory_tb3.inc index 75dd7d98eee..5aa56d06ede 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb3.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb3.inc @@ -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 --git a/mysql-test/suite/funcs_1/include/memory_tb4.inc b/mysql-test/suite/funcs_1/include/memory_tb4.inc index c3187d8d4a3..97bc04118bd 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb4.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb4.inc @@ -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 --git a/mysql-test/suite/funcs_1/include/sp_tb.inc b/mysql-test/suite/funcs_1/include/sp_tb.inc index ef209afc0cf..b37f2cc7ffe 100644 --- a/mysql-test/suite/funcs_1/include/sp_tb.inc +++ b/mysql-test/suite/funcs_1/include/sp_tb.inc @@ -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 --git a/mysql-test/suite/funcs_1/r/charset_collation_1.result b/mysql-test/suite/funcs_1/r/charset_collation_1.result new file mode 100644 index 00000000000..d397c671321 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/charset_collation_1.result @@ -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 --git a/mysql-test/suite/funcs_1/r/charset_collation_2.result b/mysql-test/suite/funcs_1/r/charset_collation_2.result new file mode 100644 index 00000000000..0035da13c56 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/charset_collation_2.result @@ -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 --git a/mysql-test/suite/funcs_1/r/charset_collation_3.result b/mysql-test/suite/funcs_1/r/charset_collation_3.result new file mode 100644 index 00000000000..b9a2dbe8a98 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/charset_collation_3.result @@ -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 --git a/mysql-test/suite/funcs_1/r/datadict_help_tables_build.result b/mysql-test/suite/funcs_1/r/datadict_help_tables_build.result deleted file mode 100644 index c81063b6bb2..00000000000 --- a/mysql-test/suite/funcs_1/r/datadict_help_tables_build.result +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result b/mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result deleted file mode 100644 index 5a7381e9592..00000000000 --- a/mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result +++ /dev/null @@ -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 --git a/mysql-test/suite/funcs_1/r/innodb__datadict.result b/mysql-test/suite/funcs_1/r/innodb__datadict.result deleted file mode 100644 index 9fa268b37e3..00000000000 --- a/mysql-test/suite/funcs_1/r/innodb__datadict.result +++ /dev/null @@ -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@1.2477.6.3, 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 -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -select * from schemata ORDER BY 2 DESC, 1 ASC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test4 latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -SELECT * FROM tables -WHERE table_schema = 'information_schema'; -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME CHARACTER_SETS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATIONS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMNS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMN_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME KEY_COLUMN_USAGE -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME ROUTINES -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMATA -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMA_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME STATISTICS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_CONSTRAINTS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TRIGGERS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME USER_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME VIEWS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -SELECT * FROM tables -WHERE NOT( table_schema = 'information_schema') -AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%'); -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME v1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME columns_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Column privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME db -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 2 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME func -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT User defined functions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME host -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Host privileges; Merged with database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME proc -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 1 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Stored Procedures -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME procs_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Procedure privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME tables_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Table privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 5 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT 6 -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_leap_second -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 22 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Leap seconds information for time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_name -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 6 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone names -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 393 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transitions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition_type -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 31 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transition types -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME user -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 3 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Users and global privileges -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t1 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t10 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t11 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t2 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t3 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t4 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t7 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t8 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t9 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb1 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb3 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb4 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test1 -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test4 -TABLE_NAME t6 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -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; -catalog_name schema_name default_character_set_name table_type engine -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -select * from columns; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references -NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references -NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references -NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references -NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references -NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references -NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references -NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references -NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references -NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references -NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references -NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references -NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references -NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references -NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references -NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references -NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references -NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references -NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references -NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references -NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references -NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references -NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references -NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references -NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references -NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references -NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select * from character_sets; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -latin1 latin1_swedish_ci cp1252 West European 1 -latin2 latin2_general_ci ISO 8859-2 Central European 1 -swe7 swe7_swedish_ci 7bit Swedish 1 -ascii ascii_general_ci US ASCII 1 -ujis ujis_japanese_ci EUC-JP Japanese 3 -sjis sjis_japanese_ci Shift-JIS Japanese 2 -hebrew hebrew_general_ci ISO 8859-8 Hebrew 1 -tis620 tis620_thai_ci TIS620 Thai 1 -euckr euckr_korean_ci EUC-KR Korean 2 -koi8u koi8u_general_ci KOI8-U Ukrainian 1 -gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2 -greek greek_general_ci ISO 8859-7 Greek 1 -cp1250 cp1250_general_ci Windows Central European 1 -gbk gbk_chinese_ci GBK Simplified Chinese 2 -latin5 latin5_turkish_ci ISO 8859-9 Turkish 1 -armscii8 armscii8_general_ci ARMSCII-8 Armenian 1 -utf8 utf8_general_ci UTF-8 Unicode 3 -ucs2 ucs2_general_ci UCS-2 Unicode 2 -cp866 cp866_general_ci DOS Russian 1 -keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1 -macce macce_general_ci Mac Central European 1 -macroman macroman_general_ci Mac West European 1 -cp852 cp852_general_ci DOS Central European 1 -latin7 latin7_general_ci ISO 8859-13 Baltic 1 -cp1251 cp1251_general_ci Windows Cyrillic 1 -cp1256 cp1256_general_ci Windows Arabic 1 -cp1257 cp1257_general_ci Windows Baltic 1 -binary binary Binary pseudo charset 1 -geostd8 geostd8_general_ci GEOSTD8 Georgian 1 -cp932 cp932_japanese_ci SJIS for Windows Japanese 2 -eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3 -select sum(id) from collations where collation_name <> 'utf8_general_cs'; -sum(id) -10741 -select collation_name, character_set_name into @x,@y -from collation_character_set_applicability limit 1; -select @x, @y; -@x @y -big5_chinese_ci big5 -select * from routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -select count(*) from routines; -count(*) -1 -select * from statistics -where not (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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE -NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE -NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE -NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE -NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE -select * from views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER -NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges order by grantee, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * from schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -select * from table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from column_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -NULL mysql PRIMARY mysql help_keyword PRIMARY KEY -NULL mysql name mysql help_keyword UNIQUE -NULL mysql PRIMARY mysql help_relation PRIMARY KEY -NULL mysql PRIMARY mysql help_topic PRIMARY KEY -NULL mysql name mysql help_topic UNIQUE -NULL mysql PRIMARY mysql host PRIMARY KEY -NULL mysql PRIMARY mysql proc PRIMARY KEY -NULL mysql PRIMARY mysql procs_priv PRIMARY KEY -NULL mysql PRIMARY mysql tables_priv PRIMARY KEY -NULL mysql PRIMARY mysql time_zone PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY -NULL mysql PRIMARY mysql user PRIMARY KEY -select * from key_column_usage; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL -select count(*) as max_recs from key_column_usage; -max_recs -40 -select max(cardinality) from statistics -where not (table_schema = 'mysql' and table_name like 'help_%'); -max(cardinality) -393 -select concat("View '", -table_name, "' is associated with the database '", table_schema, "'.") -AS "Who is Who for the Views" - from views; -Who is Who for the Views -View 'v1' is associated with the database 'db_datadict'. -View 'vu' is associated with the database 'db_datadict'. -View 'vu1' is associated with the database 'db_datadict'. -select concat("Table or view '", table_name, -"' is associated with the database '", table_schema, "'.") as "Who is Who" - from tables; -Who is Who -Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'. -Table or view 'COLLATIONS' is associated with the database 'information_schema'. -Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'. -Table or view 'COLUMNS' is associated with the database 'information_schema'. -Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'. -Table or view 'ROUTINES' is associated with the database 'information_schema'. -Table or view 'SCHEMATA' is associated with the database 'information_schema'. -Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'STATISTICS' is associated with the database 'information_schema'. -Table or view 'TABLES' is associated with the database 'information_schema'. -Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'. -Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'TRIGGERS' is associated with the database 'information_schema'. -Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'VIEWS' is associated with the database 'information_schema'. -Table or view 'v1' is associated with the database 'db_datadict'. -Table or view 'vu' is associated with the database 'db_datadict'. -Table or view 'vu1' is associated with the database 'db_datadict'. -Table or view 'columns_priv' is associated with the database 'mysql'. -Table or view 'db' is associated with the database 'mysql'. -Table or view 'func' is associated with the database 'mysql'. -Table or view 'help_category' is associated with the database 'mysql'. -Table or view 'help_keyword' is associated with the database 'mysql'. -Table or view 'help_relation' is associated with the database 'mysql'. -Table or view 'help_topic' is associated with the database 'mysql'. -Table or view 'host' is associated with the database 'mysql'. -Table or view 'proc' is associated with the database 'mysql'. -Table or view 'procs_priv' is associated with the database 'mysql'. -Table or view 'tables_priv' is associated with the database 'mysql'. -Table or view 'time_zone' is associated with the database 'mysql'. -Table or view 'time_zone_leap_second' is associated with the database 'mysql'. -Table or view 'time_zone_name' is associated with the database 'mysql'. -Table or view 'time_zone_transition' is associated with the database 'mysql'. -Table or view 'time_zone_transition_type' is associated with the database 'mysql'. -Table or view 'user' is associated with the database 'mysql'. -Table or view 't1' is associated with the database 'test'. -Table or view 't10' is associated with the database 'test'. -Table or view 't11' is associated with the database 'test'. -Table or view 't2' is associated with the database 'test'. -Table or view 't3' is associated with the database 'test'. -Table or view 't4' is associated with the database 'test'. -Table or view 't7' is associated with the database 'test'. -Table or view 't8' is associated with the database 'test'. -Table or view 't9' is associated with the database 'test'. -Table or view 'tb1' is associated with the database 'test'. -Table or view 'tb2' is associated with the database 'test'. -Table or view 'tb3' is associated with the database 'test'. -Table or view 'tb4' is associated with the database 'test'. -Table or view 'tb2' is associated with the database 'test1'. -Table or view 't6' is associated with the database 'test4'. -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; -user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'127.0.0.1' '127.0.0.1' -'root'@'<SERVER_NAME>' '<SERVER_NAME>' -'root'@'localhost' 'localhost' -select all table_schema from schema_privileges limit 0,5; -table_schema -test -test -test -test -test -select distinct(privilege_type) from table_privileges; -privilege_type -select * from column_privileges -group by table_schema having table_schema = 'db_datadict'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from table_constraints limit 0,5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select count(*) as max_recs from key_column_usage limit 0,5; -max_recs -40 -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; -table name no of columns in the table -CHARACTER_SETS 4 -COLLATIONS 6 -COLLATION_CHARACTER_SET_APPLICABILITY 2 -COLUMNS 19 -columns_priv 7 -COLUMN_PRIVILEGES 7 -db 20 -func 4 -help_category 4 -help_keyword 2 -help_relation 2 -help_topic 6 -host 19 -KEY_COLUMN_USAGE 12 -proc 16 -procs_priv 8 -ROUTINES 20 -SCHEMATA 5 -SCHEMA_PRIVILEGES 5 -STATISTICS 15 -t1 6 -t10 6 -t11 6 -t2 6 -t3 3 -t4 6 -t6 6 -t7 4 -t8 4 -t9 3 -TABLES 21 -tables_priv 8 -TABLE_CONSTRAINTS 6 -TABLE_PRIVILEGES 6 -tb1 58 -tb2 51 -tb3 58 -tb4 58 -time_zone 2 -time_zone_leap_second 2 -time_zone_name 2 -time_zone_transition 3 -time_zone_transition_type 5 -TRIGGERS 19 -user 37 -USER_PRIVILEGES 4 -v1 21 -VIEWS 8 -vu 3 -vu1 1 - -root: simple select to check all - and never forget some - tables ------------------------------------------------------------------ -SELECT * FROM schemata LIMIT 1; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -SELECT * FROM tables LIMIT 1; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -SELECT * FROM columns LIMIT 1; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -SELECT * FROM character_sets LIMIT 1; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -SELECT * FROM collations where collation_name <> 'utf8_general_cs' LIMIT 1; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -SELECT * FROM collation_character_set_applicability where collation_name <> 'utf8_general_cs' LIMIT 1; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -SELECT * FROM routines LIMIT 1; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost -SELECT * FROM statistics LIMIT 1; -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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -SELECT * FROM views LIMIT 1; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -SELECT * FROM user_privileges LIMIT 1; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -SELECT * FROM schema_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -SELECT * FROM table_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM column_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM table_constraints LIMIT 1; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -SELECT * FROM key_column_usage LIMIT 1; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -SELECT * FROM triggers LIMIT 1; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -SELECT * FROM parameters LIMIT 1; -ERROR 42S02: Unknown table 'parameters' in information_schema -SELECT * FROM referential_constraints LIMIT 1; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema -use db_datadict; -select * from schemata; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -select * from tables; -ERROR 42S02: Table 'db_datadict.tables' doesn't exist -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 42S02: Table 'db_datadict.schemata' doesn't exist -select * from columns limit 0, 5; -ERROR 42S02: Table 'db_datadict.columns' doesn't exist -select * from character_sets limit 0, 5; -ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist -select * from collations limit 0, 5; -ERROR 42S02: Table 'db_datadict.collations' doesn't exist -select * from collation_character_set_applicability limit 0, 5; -ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist -select * from routines limit 0, 5; -ERROR 42S02: Table 'db_datadict.routines' doesn't exist -select * from statistics limit 0, 5; -ERROR 42S02: Table 'db_datadict.statistics' doesn't exist -select * from views limit 0, 5; -ERROR 42S02: Table 'db_datadict.views' doesn't exist -select * from user_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist -select * from schema_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist -select * from table_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist -select * from column_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist -select * from table_constraints limit 0, 5; -ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist -select * from key_column_usage limit 0, 5; -ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist - -will fail due to missing database name --------------------------------------- - -known error 1146: ------------------ -SELECT * FROM schemata ; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * FROM tables ; -ERROR 42S02: Table 'db_datadict.tables' doesn't exist -SELECT * FROM columns ; -ERROR 42S02: Table 'db_datadict.columns' doesn't exist -SELECT * FROM character_sets ; -ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist -SELECT * FROM collations ; -ERROR 42S02: Table 'db_datadict.collations' doesn't exist -SELECT * FROM collation_character_set_applicability ; -ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist -SELECT * FROM routines ; -ERROR 42S02: Table 'db_datadict.routines' doesn't exist -SELECT * FROM statistics ; -ERROR 42S02: Table 'db_datadict.statistics' doesn't exist -SELECT * FROM views ; -ERROR 42S02: Table 'db_datadict.views' doesn't exist -SELECT * FROM user_privileges ; -ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist -SELECT * FROM schema_privileges ; -ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist -SELECT * FROM table_privileges ; -ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist -SELECT * FROM column_privileges ; -ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist -SELECT * FROM table_constraints ; -ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist -SELECT * FROM key_column_usage ; -ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist -SELECT * FROM triggers ; -ERROR 42S02: Table 'db_datadict.triggers' doesn't exist -select * from information_schema.schemata ORDER BY 2 DESC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test4 latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME CHARACTER_SETS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATIONS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMNS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMN_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME KEY_COLUMN_USAGE -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME ROUTINES -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMATA -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMA_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME STATISTICS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_CONSTRAINTS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TRIGGERS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME USER_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME VIEWS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema') -AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%'); -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME v1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME columns_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Column privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME db -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 2 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME func -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT User defined functions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME host -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Host privileges; Merged with database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME proc -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 1 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Stored Procedures -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME procs_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Procedure privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME tables_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Table privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 5 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT 6 -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_leap_second -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 22 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Leap seconds information for time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_name -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 6 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone names -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 393 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transitions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition_type -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 31 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transition types -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME user -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 3 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Users and global privileges -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t1 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t10 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t11 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t2 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t3 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t4 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t7 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t8 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t9 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb1 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb3 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb4 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test1 -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -TABLE_CATALOG NULL -TABLE_SCHEMA test4 -TABLE_NAME t6 -TABLE_TYPE BASE TABLE -ENGINE InnoDB -VERSION 10 -ROW_FORMAT Compact -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT InnoDB free: 3072 kB -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; -catalog_name schema_name default_character_set_name table_type engine -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE InnoDB -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE InnoDB -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE InnoDB -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE InnoDB -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE InnoDB -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE InnoDB -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -select * from information_schema.columns limit 0, 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -select * from information_schema.character_sets limit 0, 5; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -select * from information_schema.collations limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -big5_bin big5 84 Yes 1 -dec8_swedish_ci dec8 3 Yes 0 -dec8_bin dec8 69 0 -cp850_general_ci cp850 4 Yes 0 -select * from information_schema.collation_character_set_applicability limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -select * from information_schema.routines limit 0, 5; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -select * from information_schema.statistics limit 0, 5; -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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -select * from information_schema.views limit 0, 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER -NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from information_schema.user_privileges limit 0, 5; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -select * from information_schema.schema_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -select * from information_schema.table_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from information_schema.column_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from information_schema.table_constraints limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select * from information_schema.key_column_usage limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -select count(*) as max_recs from information_schema.key_column_usage limit 0, 5; -max_recs -40 - -root: check with db name ------------------------- -SELECT COUNT(*) FROM information_schema. schemata ; -COUNT(*) -6 -SELECT COUNT(*) FROM information_schema. tables ; -COUNT(*) -51 -SELECT COUNT(*) FROM information_schema. columns ; -COUNT(*) -657 -SELECT COUNT(*) FROM information_schema. character_sets ; -COUNT(*) -36 -SELECT COUNT(*) FROM information_schema. collations where collation_name <> 'utf8_general_cs' ; -COUNT(*) -126 -SELECT COUNT(*) FROM information_schema. collation_character_set_applicability where collation_name <> 'utf8_general_cs' ; -COUNT(*) -126 -SELECT COUNT(*) FROM information_schema. routines ; -COUNT(*) -1 -SELECT COUNT(*) FROM information_schema. statistics ; -COUNT(*) -43 -SELECT COUNT(*) FROM information_schema. views ; -COUNT(*) -3 -SELECT COUNT(*) FROM information_schema. user_privileges ; -COUNT(*) -75 -SELECT COUNT(*) FROM information_schema. schema_privileges ; -COUNT(*) -28 -SELECT COUNT(*) FROM information_schema. table_privileges ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. column_privileges ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. table_constraints ; -COUNT(*) -20 -SELECT COUNT(*) FROM information_schema. key_column_usage ; -COUNT(*) -40 -SELECT COUNT(*) FROM information_schema. triggers ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. parameters ; -ERROR 42S02: Unknown table 'parameters' in information_schema -SELECT COUNT(*) FROM information_schema. referential_constraints ; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema -USE db_datadict; -DROP VIEW v1, vu1, vu; -DROP PROCEDURE db_datadict.sp_1; -USE information_schema; - -Testcase 3.2.1.2: --------------------------------------------------------------------------------- -select catalog_name, schema_name, default_character_set_name -from schemata where schema_name like '%s%'; -catalog_name schema_name default_character_set_name -NULL information_schema utf8 -NULL mysql latin1 -NULL test latin1 -NULL test1 latin1 -NULL test4 latin1 -select count(*) as tot_tabs from tables; -tot_tabs -48 -select count(*) as the_cols from columns; -the_cols -632 -select max(maxlen) as the_max from character_sets; -the_max -3 -select * from collations order by id asc limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -latin2_czech_cs latin2 2 Yes 4 -dec8_swedish_ci dec8 3 Yes 0 -cp850_general_ci cp850 4 Yes 0 -latin1_german1_ci latin1 5 Yes 1 -select * from collation_character_set_applicability -order by character_set_name desc, collation_name limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME -utf8_bin utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_esperanto_ci utf8 -utf8_estonian_ci utf8 -select routine_definition from routines; -routine_definition -select * from statistics where table_name not like 'help_%' -group by index_name asc limit 0, 5; -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 procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -select concat(table_schema, ', ', table_name, ', ', view_definition) view_info -from views; -view_info -select concat(table_schema, ', ', table_name) "Table_info" - from tables ORDER BY 1; -Table_info -information_schema, CHARACTER_SETS -information_schema, COLLATIONS -information_schema, COLLATION_CHARACTER_SET_APPLICABILITY -information_schema, COLUMNS -information_schema, COLUMN_PRIVILEGES -information_schema, KEY_COLUMN_USAGE -information_schema, ROUTINES -information_schema, SCHEMATA -information_schema, SCHEMA_PRIVILEGES -information_schema, STATISTICS -information_schema, TABLES -information_schema, TABLE_CONSTRAINTS -information_schema, TABLE_PRIVILEGES -information_schema, TRIGGERS -information_schema, USER_PRIVILEGES -information_schema, VIEWS -mysql, columns_priv -mysql, db -mysql, func -mysql, help_category -mysql, help_keyword -mysql, help_relation -mysql, help_topic -mysql, host -mysql, proc -mysql, procs_priv -mysql, tables_priv -mysql, time_zone -mysql, time_zone_leap_second -mysql, time_zone_name -mysql, time_zone_transition -mysql, time_zone_transition_type -mysql, user -test, t1 -test, t10 -test, t11 -test, t2 -test, t3 -test, t4 -test, t7 -test, t8 -test, t9 -test, tb1 -test, tb2 -test, tb3 -test, tb4 -test1, tb2 -test4, t6 -select distinct grantee from user_privileges order by grantee, privilege_type; -grantee -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'localhost' -select * from schema_privileges where table_catalog is null limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -select * from table_privileges where grantee like '%r%' limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from column_privileges where table_catalog is not null limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select HIGH_PRIORITY * from table_constraints -group by constraint_name desc limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select sum(ordinal_position) from key_column_usage; -sum(ordinal_position) -77 -select * from schemata limit 0,5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -select * from schemata limit 0,5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -select distinct grantee from user_privileges; -grantee -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'localhost' -select all grantee from user_privileges order by grantee, privilege_type; -grantee -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -select id , character_set_name from collations order by id asc limit 10; -id character_set_name -1 big5 -2 latin2 -3 dec8 -4 cp850 -5 latin1 -6 hp8 -7 koi8r -8 latin1 -9 latin2 -10 swe7 -select table_catalog from columns -union all -select table_catalog from tables limit 0,5; -table_catalog -NULL -NULL -NULL -NULL -NULL -select table_catalog from columns -union -select table_catalog from tables limit 0,5; -table_catalog -NULL -select all schema_name from information_schema.schemata; -schema_name -information_schema -db_datadict -mysql -test -test1 -test4 -SELECT * -INTO OUTFILE '../tmp/out.innodb.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -USE test; -SELECT * -INTO OUTFILE '../tmp/out.innodb.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CREATE USER user_3212@localhost; -GRANT ALL ON db_datadict.* TO user_3212@localhost; -GRANT FILE ON *.* TO user_3212@localhost; -connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -user_3212@localhost db_datadict -SELECT * -INTO OUTFILE '../tmp/out.innodb.user.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * -FROM schemata LIMIT 0, 5; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * -INTO OUTFILE '../tmp/out.innodb.user.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -SELECT * -FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -USE information_schema; -SELECT * -INTO OUTFILE '../tmp/out.innodb.user_2.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -SELECT * -FROM schemata LIMIT 0, 5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -SELECT * -INTO OUTFILE '../tmp/out.innodb.user_2.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -SELECT * -FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -USE information_schema; - -root@localhost information_schema -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; -1 2 3 4 -NULL information_schema CHARACTER_SETS MAXLEN -NULL information_schema CHARACTER_SETS DESCRIPTION -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME -NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW -NULL information_schema COLLATIONS SORTLEN -NULL information_schema COLLATIONS IS_DEFAULT -NULL information_schema COLLATIONS IS_COMPILED -NULL information_schema COLLATIONS ID -NULL information_schema COLLATIONS COLLATION_NAME -NULL information_schema COLLATIONS CHARACTER_SET_NAME -NULL information_schema COLLATIONS *** type = SYSTEM VIEW -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW -NULL information_schema COLUMNS TABLE_SCHEMA -NULL information_schema COLUMNS TABLE_NAME -NULL information_schema COLUMNS TABLE_CATALOG -NULL information_schema COLUMNS PRIVILEGES -NULL information_schema COLUMNS ORDINAL_POSITION -NULL information_schema COLUMNS NUMERIC_SCALE -NULL information_schema COLUMNS NUMERIC_PRECISION -NULL information_schema COLUMNS IS_NULLABLE -NULL information_schema COLUMNS EXTRA -NULL information_schema COLUMNS DATA_TYPE -NULL information_schema COLUMNS COLUMN_TYPE -NULL information_schema COLUMNS COLUMN_NAME -NULL information_schema COLUMNS COLUMN_KEY -NULL information_schema COLUMNS COLUMN_DEFAULT -NULL information_schema COLUMNS COLUMN_COMMENT -use information_schema; -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; -1 2 3 4 -NULL information_schema CHARACTER_SETS MAXLEN -NULL information_schema CHARACTER_SETS DESCRIPTION -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME -NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW -NULL information_schema COLLATIONS SORTLEN -NULL information_schema COLLATIONS IS_DEFAULT -NULL information_schema COLLATIONS IS_COMPILED -NULL information_schema COLLATIONS ID -NULL information_schema COLLATIONS COLLATION_NAME -NULL information_schema COLLATIONS CHARACTER_SET_NAME -NULL information_schema COLLATIONS *** type = SYSTEM VIEW -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW -NULL information_schema COLUMNS TABLE_SCHEMA -NULL information_schema COLUMNS TABLE_NAME -NULL information_schema COLUMNS TABLE_CATALOG -NULL information_schema COLUMNS PRIVILEGES -NULL information_schema COLUMNS ORDINAL_POSITION -NULL information_schema COLUMNS NUMERIC_SCALE -NULL information_schema COLUMNS NUMERIC_PRECISION -NULL information_schema COLUMNS IS_NULLABLE -NULL information_schema COLUMNS EXTRA -NULL information_schema COLUMNS DATA_TYPE -NULL information_schema COLUMNS COLUMN_TYPE -NULL information_schema COLUMNS COLUMN_NAME -NULL information_schema COLUMNS COLUMN_KEY -NULL information_schema COLUMNS COLUMN_DEFAULT -NULL information_schema COLUMNS COLUMN_COMMENT -DROP USER user_3212@localhost; - -Testcase 3.2.1.3: --------------------------------------------------------------------------------- -insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path) -values ('null', 'db1', 'latin1', 'null'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into tables (table_schema, table_name)values('db_datadict', 't1'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into columns (table_name, column_name)values('t3', 'f2'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into character_sets (character_set_name, default_collate_name, description, maxlen) -values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen) -values ('cp1251_bin', 'cp1251', 50, '', '', 0); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into collation_character_set_applicability (collation_name, character_set_name) -values (' big5_chinese_ci', 'big6'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into routines(routine_name, routine_type ) values ('p2', 'procedure'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into statistics(table_schema, table_name, index_name) -values ('mysql', 'db', 'primary'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into views(table_schema, table_name) values ('db2', 'v2'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into table_privileges (able_schema, table_name, privilege_type) -values('db2', 'v2', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into column_privileges (table_name, column_name, privilege_type) -values ('t3', 'f3', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into table_constraints ( constraint_schema, constraint_name, table_schema) -values ('primary', 'mysql', 'user'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into key_column_usage (constraint_schema, constraint_name, table_name) -values ('mysql', 'primary', 'db'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_3; -create procedure db_datadict.sp_4_1_3() -begin -insert into information_schema.schema_privileges (table_schema,privilege_type) -values('db2','insert'); -end// -SELECT table_schema, privilege_type FROM information_schema.schema_privileges -WHERE table_schema LIKE 'db%'; -table_schema privilege_type -call db_datadict.sp_4_1_3(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -SELECT table_schema, privilege_type FROM information_schema.schema_privileges -WHERE table_schema LIKE 'db%'; -table_schema privilege_type -drop procedure db_datadict.sp_4_1_3; -CREATE USER user_4_1_3@localhost; -connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_3@localhost test -use information_schema; -insert into table_constraints ( constraint_schema, constraint_name, table_schema) -values ('primary', 'mysql', 'user'); -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema - -Testcase 3.2.1.4: --------------------------------------------------------------------------------- -use information_schema; - -root@localhost information_schema -update schemata set schema_name = 'db5' where default_character_set_name = 'latin1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update tables set table_schema = 'db_datadict1' where table_name = 't1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update character_sets set character_set_name = 'cp1252' where maxlen = 1; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update collations set collation_name = 'cp1253_bin' - where character_set_name = 'cp1251'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update collation_character_set_applicability set collation_name = 'big6_chinese_ci' - where character_set_name = 'big6'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update routines set routine_name = p2 where routine_body = 'sql'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update statistics set table_schema = 'mysql1' where table_name = 'db'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update views set table_schema = 'db3' where table_name = 'v1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update user_privileges set privilege_type = 'insert' where is_grantable = 'yes'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update schema_privileges set table_schema = 'db2' where privilege_type = 'select'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update table_privileges set table_name = 'v3' where privilege_type = 'select'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update column_privileges set table_name = 't4' where column_name = 'f3'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update table_constraints set constraint_schema = 'primary' - where table_schema = 'proc'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update key_column_usage set table_name = 'db1' where constraint_name = 'primary'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_4; -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// -select * from information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin -update information_schema.routines set routine_name = 'p2' - where routine_name = 'sp_4_1_4'; -end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -call db_datadict.sp_4_1_4(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -select * from information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin -update information_schema.routines set routine_name = 'p2' - where routine_name = 'sp_4_1_4'; -end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -drop procedure db_datadict.sp_4_1_4; -use information_schema; - -user_4_1_3@localhost information_schema -update user_privileges set privilege_type = 'insert' where is_grantable = 'yes'; -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema - -Testcase 3.2.1.5: --------------------------------------------------------------------------------- -use information_schema; - -root: DELETE FROM any table in IS ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DELETE FROM schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from schemata where schema_name = 'mysql'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from tables where table_name = 'abc'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from columns; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from character_sets; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from collations; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from collation_character_set_applicability; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from routines; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from statistics; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from views; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from user_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from schema_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from table_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from column_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from table_constraints; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from key_column_usage; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_5; -create procedure db_datadict.sp_4_1_5() -begin -delete from information_schema.column_privileges; -end// -call db_datadict.sp_4_1_5(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure db_datadict.sp_4_1_5; -use information_schema; - -user_4_1_3@localhost information_schema -delete from tables where table_name = 'abc'; -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_3@localhost; - -Testcase 3.2.1.6: --------------------------------------------------------------------------------- -use information_schema; - -root: create a table with a name of an IS table directly in IS --------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE schemata ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE tables ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE columns ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE collations ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE routines ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE statistics ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE views ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE triggers ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create table t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -use db_datadict; - -root: create a table with a name of an IS table from other db -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE information_schema. schemata ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. tables ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. columns ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collations ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. routines ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. statistics ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. views ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. triggers ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create table information_schema.t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -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; -Grants for user_4_1_6@localhost -GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost' -connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_6@localhost information_schema -use information_schema; - -user: create a table with a name of an IS table directly in IS --------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE schemata ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE tables ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE columns ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE collations ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE routines ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE statistics ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE views ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE triggers ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -create table t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -use test; - -user: create a table with a name of an IS table from other db -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE information_schema. schemata ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. tables ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. columns ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collations ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. routines ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. statistics ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. views ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. triggers ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -create table information_schema.t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema - -root@localhost db_datadict -DROP USER user_4_1_6@localhost; - -Testcase 3.2.1.7: --------------------------------------------------------------------------------- -use information_schema; - -root: create a view with a name of an IS table directly in IS -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW schemata AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW tables AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW columns AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW collations AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW routines AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW statistics AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW views AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW triggers AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW v1 AS SELECT * FROM information_schema.schemata; -ERROR 42S02: Unknown table 'v1' in information_schema -USE db_datadict; - -root: create a view with a name of an IS table from other db ------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW v1 AS SELECT * FROM information_schema.columns; -SELECT * FROM v1 LIMIT 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -CREATE USER user_4_1_7@localhost; -GRANT ALL ON db_datadict.* TO user_4_1_7@localhost; -GRANT ALL ON information_schema.* TO user_4_1_7@localhost; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_7@localhost information_schema - -user: create a view with a name of an IS table directly in IS -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW schemata AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW tables AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW columns AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW collations AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW routines AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW statistics AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW views AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW triggers AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -create view v1 as select * from table_privileges; -ERROR 42S02: Unknown table 'v1' in information_schema -use db_datadict; - -user: create a view with a name of an IS table from other db ------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' - -root@localhost db_datadict -DROP USER user_4_1_7@localhost; -DROP VIEW db_datadict.v1; - -Testcase 3.2.1.8: --------------------------------------------------------------------------------- -use information_schema; -create index i1 on schemata(schema_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i2 on tables(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i3 on columns(table_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i4 on character_sets(character_set_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i6 on collation_character_set_applicability(collation_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i7 on routines(routine_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i8 on statistics(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i9 on views(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i10 on user_privileges(privilege_type); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i11 on schema_privileges(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i12 on table_privileges(able_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i13 on column_privileges(table_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i14 on table_constraints(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i15 on key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i16 on triggers(trigger_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use db_datadict; -create index i15 on information_schema.key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; -CREATE USER user_4_1_8@localhost; -grant select, index on *.* to user_4_1_8@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_8@localhost test -use information_schema; -create index i1 on schemata(schema_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i2 on tables(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i3 on columns(table_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i4 on character_sets(character_set_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i6 on collation_character_set_applicability(collation_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i7 on routines(routine_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i8 on statistics(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i9 on views(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i10 on user_privileges(privilege_type); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i11 on schema_privileges(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i12 on table_privileges(able_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i13 on column_privileges(table_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i14 on table_constraints(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i15 on key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i16 on triggers(trigger_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -use db_datadict; -create index i15 on information_schema.key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_8@localhost; - -Testcase 3.2.1.9: --------------------------------------------------------------------------------- - -root: alter a table from other db ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; - -root: alter a table from directly ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE schemata ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE tables ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE columns ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE collations ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE routines ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE statistics ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE views ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE triggers ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table schemata add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table tables drop primary key; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table columns add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table character_sets disable keys; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table collations enable keys; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table collation_character_set_applicability add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table routines discard tablespace; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table statistics import tablespace; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table views drop column table_name; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table user_privileges drop index privilege_type; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table schema_privileges drop column is_grantable; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table table_privileges order by constraint_type; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table column_privileges rename to aaxyz; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table table_constraints order by schema_name; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table key_column_usage rename to information_schema.aabxyz; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table triggers rename to information_schema.sql_mode; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE USER user_4_1_9@localhost; -grant select, alter, create, insert on *.* to user_4_1_9@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_9@localhost db_datadict -use db_datadict; - -user: alter a table from other db ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -use information_schema; - -user: alter a table from directly ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE schemata ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE tables ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE columns ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE collations ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE routines ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE statistics ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE views ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE triggers ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_9@localhost; - -Testcase 3.2.1.10: --------------------------------------------------------------------------------- -use information_schema; - -root: drop a table from IS --------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use db_datadict; - -root: drop a table from other db --------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE information_schema. schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; -CREATE USER user_4_1_10@localhost; -GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_10@localhost information_schema - -user: drop a table from IS --------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE schemata ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE tables ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE columns ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE character_sets ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE collations ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE collation_character_set_applicability ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE routines ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE statistics ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE views ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE user_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE schema_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE table_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE column_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE table_constraints ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE key_column_usage ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE triggers ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -use db_datadict; - -user: drop a table from other db --------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE information_schema. schemata ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. tables ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. columns ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. character_sets ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collations ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. routines ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. statistics ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. views ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. user_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. column_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_constraints ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. triggers ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_10@localhost; -CREATE USER user_4_1_11@localhost; -GRANT SUPER ON *.* TO user_4_1_11@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_11@localhost information_schema -drop table routines; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -alter table collations enable keys; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name ); -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -create view v1 as select * from schemata; -ERROR 42S02: Unknown table 'v1' in information_schema -delete from columns; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -insert into collations ( collation_name, character_set_name, id, is_default, -is_compiled, sortlen) -values ('cp1251_bin', 'cp1251', 50, '', '', 0); -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_11@localhost; - -Testcase 3.2.1.11: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -CREATE USER 'u_6_401011'@'localhost'; -GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost'; -FLUSH PRIVILEGES; -ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' - -root: move table to other DB ----------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; - -u_6_401011@localhost information_schema -ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' - -user: move table to other DB ----------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP TABLE IF EXISTS db_datadict.schemata; -DROP USER 'u_6_401011'@'localhost'; - -Testcase 3.2.1.12: --------------------------------------------------------------------------------- - -root: delete from IS tables ---------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DELETE FROM information_schema. schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.tables SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.columns SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.statistics SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.views SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.table_privileges SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.column_privileges SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.table_constraints SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.key_column_usage SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.schemata SET catalog_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.character_sets SET description = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.collations SET character_set_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.collation_character_set_applicability -SET character_set_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.routines SET routine_type = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.user_privileges SET grantee = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.schema_privileges SET grantee = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.triggers SET sql_mode = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE USER 'u_6_401012'@'localhost'; -connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; -insert into information_schema.schemata (catalog_name, schema_name, -default_character_set_name, sql_path) -values (null, information_schema1, utf16, null); -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.schemata rename db_datadict1.schemata; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.tables drop column checksum; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.statistics modify packed int; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.routines modify created int not null; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.key_column_usage drop column ordinal_position; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.table_privileges -change privilege_type rights_approved varchar(32); -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -delete from information_schema.collations; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' - -root@localhost information_schema -drop table if exists db_datadict1.schemata; -DROP USER 'u_6_401012'@'localhost'; - -Testcase 3.2.1.13: --------------------------------------------------------------------------------- -use information_schema; - -first check status >before< creating the objects ... ----------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -USE db_datadict; -create table res_t_401013(f1 char(10), f2 char(25), f3 int) -engine = innodb; -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; - -now check whether all new objects exists in IS ... --------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict InnoDB -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references -NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401013 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401013 FUNCTION DEFINER -sp_6_401013 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -res_t_401013 db_datadict i_6_401013 BTREE -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -'u_6_401013'@'localhost' NULL USAGE NO -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -and now check whether all objects are removed from IS ... ---------------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER - -Testcase 3.2.1.14: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; - -show existing objects >before< changing them ... ------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401014 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401014 FUNCTION DEFINER -sp_6_401014 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -use db_datadict; -alter table res_t_401014 change f1 ff1 int; -alter table res_t_401014 engine = MEMORY; -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; - -now check whether the changes are visible in IS ... ---------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict utf8 utf8_general_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MEMORY -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict res_t_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401014 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401014 FUNCTION DEFINER -sp_6_401014 PROCEDURE INVOKER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -Testcase 3.2.1.15: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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); - -show existing objects >before< dropping them ... ------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references -NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401015 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401015 FUNCTION DEFINER -sp_6_401015 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -res_t_401015 db_datadict i_6_401015 BTREE -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -'u_6_401015'@'localhost' NULL USAGE NO -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -now check they are really gone ... ----------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER - -Testcase 3.2.1.16: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; -SELECT table_schema, table_name, engine -FROM TABLES; -table_schema table_name engine -information_schema CHARACTER_SETS MEMORY -information_schema COLLATIONS MEMORY -information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY -information_schema COLUMNS MyISAM -information_schema COLUMN_PRIVILEGES MEMORY -information_schema KEY_COLUMN_USAGE MEMORY -information_schema ROUTINES MyISAM -information_schema SCHEMATA MEMORY -information_schema SCHEMA_PRIVILEGES MEMORY -information_schema STATISTICS MEMORY -information_schema TABLES MEMORY -information_schema TABLE_CONSTRAINTS MEMORY -information_schema TABLE_PRIVILEGES MEMORY -information_schema TRIGGERS MyISAM -information_schema USER_PRIVILEGES MEMORY -information_schema VIEWS MyISAM -db_datadict res_t_401016 MyISAM -test t1 InnoDB -test t10 InnoDB -test t11 InnoDB -test t2 InnoDB -test t3 InnoDB -test t4 InnoDB -test t7 InnoDB -test t8 InnoDB -test t9 InnoDB -test tb1 InnoDB -test tb2 InnoDB -test tb3 InnoDB -test tb4 InnoDB -SHOW TABLES; -Tables_in_information_schema -CHARACTER_SETS -COLLATIONS -COLLATION_CHARACTER_SET_APPLICABILITY -COLUMNS -COLUMN_PRIVILEGES -KEY_COLUMN_USAGE -ROUTINES -SCHEMATA -SCHEMA_PRIVILEGES -STATISTICS -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL - -root@localhost db_datadict -grant usage on information_schema.* to 'u_6_401016'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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 -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -use db_datadict; - -root@localhost db_datadict -DROP USER 'u_6_401016'@'localhost'; -drop table res_t_401016; -drop table res_t_401016_1; -DROP DATABASE db_hidden; - -Testcase 3.2.1.17: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401017'@'localhost'; -grant select on information_schema.* to u_6_401017@localhost; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; -select * from collation_character_set_applicability -where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -cp850_bin cp850 -hp8_english_ci hp8 -hp8_bin hp8 -koi8r_general_ci koi8r -koi8r_bin koi8r -latin1_german1_ci latin1 -latin1_swedish_ci latin1 -latin1_danish_ci latin1 -latin1_german2_ci latin1 -latin1_bin latin1 -latin1_general_ci latin1 -latin1_general_cs latin1 -latin1_spanish_ci latin1 -latin2_czech_cs latin2 -latin2_general_ci latin2 -latin2_hungarian_ci latin2 -latin2_croatian_ci latin2 -latin2_bin latin2 -swe7_swedish_ci swe7 -swe7_bin swe7 -ascii_general_ci ascii -ascii_bin ascii -ujis_japanese_ci ujis -ujis_bin ujis -sjis_japanese_ci sjis -sjis_bin sjis -hebrew_general_ci hebrew -hebrew_bin hebrew -tis620_thai_ci tis620 -tis620_bin tis620 -euckr_korean_ci euckr -euckr_bin euckr -koi8u_general_ci koi8u -koi8u_bin koi8u -gb2312_chinese_ci gb2312 -gb2312_bin gb2312 -greek_general_ci greek -greek_bin greek -cp1250_general_ci cp1250 -cp1250_czech_cs cp1250 -cp1250_croatian_ci cp1250 -cp1250_bin cp1250 -gbk_chinese_ci gbk -gbk_bin gbk -latin5_turkish_ci latin5 -latin5_bin latin5 -armscii8_general_ci armscii8 -armscii8_bin armscii8 -utf8_general_ci utf8 -utf8_bin utf8 -utf8_unicode_ci utf8 -utf8_icelandic_ci utf8 -utf8_latvian_ci utf8 -utf8_romanian_ci utf8 -utf8_slovenian_ci utf8 -utf8_polish_ci utf8 -utf8_estonian_ci utf8 -utf8_spanish_ci utf8 -utf8_swedish_ci utf8 -utf8_turkish_ci utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_lithuanian_ci utf8 -utf8_slovak_ci utf8 -utf8_spanish2_ci utf8 -utf8_roman_ci utf8 -utf8_persian_ci utf8 -utf8_esperanto_ci utf8 -utf8_hungarian_ci utf8 -ucs2_general_ci ucs2 -ucs2_bin ucs2 -ucs2_unicode_ci ucs2 -ucs2_icelandic_ci ucs2 -ucs2_latvian_ci ucs2 -ucs2_romanian_ci ucs2 -ucs2_slovenian_ci ucs2 -ucs2_polish_ci ucs2 -ucs2_estonian_ci ucs2 -ucs2_spanish_ci ucs2 -ucs2_swedish_ci ucs2 -ucs2_turkish_ci ucs2 -ucs2_czech_ci ucs2 -ucs2_danish_ci ucs2 -ucs2_lithuanian_ci ucs2 -ucs2_slovak_ci ucs2 -ucs2_spanish2_ci ucs2 -ucs2_roman_ci ucs2 -ucs2_persian_ci ucs2 -ucs2_esperanto_ci ucs2 -ucs2_hungarian_ci ucs2 -cp866_general_ci cp866 -cp866_bin cp866 -keybcs2_general_ci keybcs2 -keybcs2_bin keybcs2 -macce_general_ci macce -macce_bin macce -macroman_general_ci macroman -macroman_bin macroman -cp852_general_ci cp852 -cp852_bin cp852 -latin7_estonian_cs latin7 -latin7_general_ci latin7 -latin7_general_cs latin7 -latin7_bin latin7 -cp1251_bulgarian_ci cp1251 -cp1251_ukrainian_ci cp1251 -cp1251_bin cp1251 -cp1251_general_ci cp1251 -cp1251_general_cs cp1251 -cp1256_general_ci cp1256 -cp1256_bin cp1256 -cp1257_lithuanian_ci cp1257 -cp1257_bin cp1257 -cp1257_general_ci cp1257 -binary binary -geostd8_general_ci geostd8 -geostd8_bin geostd8 -cp932_japanese_ci cp932 -cp932_bin cp932 -eucjpms_japanese_ci eucjpms -eucjpms_bin eucjpms -select * from schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL -select table_name from tables; -table_name -CHARACTER_SETS -COLLATIONS -COLLATION_CHARACTER_SET_APPLICABILITY -COLUMNS -COLUMN_PRIVILEGES -KEY_COLUMN_USAGE -ROUTINES -SCHEMATA -SCHEMA_PRIVILEGES -STATISTICS -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -t1 -t10 -t11 -t2 -t3 -t4 -t7 -t8 -t9 -tb1 -tb2 -tb3 -tb4 -select table_name, column_name, column_type from columns; -table_name column_name column_type -CHARACTER_SETS CHARACTER_SET_NAME varchar(64) -CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64) -CHARACTER_SETS DESCRIPTION varchar(60) -CHARACTER_SETS MAXLEN bigint(3) -COLLATIONS COLLATION_NAME varchar(64) -COLLATIONS CHARACTER_SET_NAME varchar(64) -COLLATIONS ID bigint(11) -COLLATIONS IS_DEFAULT varchar(3) -COLLATIONS IS_COMPILED varchar(3) -COLLATIONS SORTLEN bigint(3) -COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64) -COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64) -COLUMNS TABLE_CATALOG varchar(4096) -COLUMNS TABLE_SCHEMA varchar(64) -COLUMNS TABLE_NAME varchar(64) -COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) -COLUMNS COLUMN_DEFAULT longtext -COLUMNS IS_NULLABLE varchar(3) -COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) -COLUMNS CHARACTER_SET_NAME varchar(64) -COLUMNS COLLATION_NAME varchar(64) -COLUMNS COLUMN_TYPE longtext -COLUMNS COLUMN_KEY varchar(3) -COLUMNS EXTRA varchar(20) -COLUMNS PRIVILEGES varchar(80) -COLUMNS COLUMN_COMMENT varchar(255) -COLUMN_PRIVILEGES GRANTEE varchar(81) -COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096) -COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64) -COLUMN_PRIVILEGES TABLE_NAME varchar(64) -COLUMN_PRIVILEGES COLUMN_NAME varchar(64) -COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64) -COLUMN_PRIVILEGES IS_GRANTABLE varchar(3) -KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096) -KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64) -KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64) -KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096) -KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64) -KEY_COLUMN_USAGE TABLE_NAME varchar(64) -KEY_COLUMN_USAGE COLUMN_NAME varchar(64) -KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10) -KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10) -KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64) -KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64) -KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64) -ROUTINES SPECIFIC_NAME varchar(64) -ROUTINES ROUTINE_CATALOG varchar(4096) -ROUTINES ROUTINE_SCHEMA varchar(64) -ROUTINES ROUTINE_NAME varchar(64) -ROUTINES ROUTINE_TYPE varchar(9) -ROUTINES DTD_IDENTIFIER varchar(64) -ROUTINES ROUTINE_BODY varchar(8) -ROUTINES ROUTINE_DEFINITION longtext -ROUTINES EXTERNAL_NAME varchar(64) -ROUTINES EXTERNAL_LANGUAGE varchar(64) -ROUTINES PARAMETER_STYLE varchar(8) -ROUTINES IS_DETERMINISTIC varchar(3) -ROUTINES SQL_DATA_ACCESS varchar(64) -ROUTINES SQL_PATH varchar(64) -ROUTINES SECURITY_TYPE varchar(7) -ROUTINES CREATED datetime -ROUTINES LAST_ALTERED datetime -ROUTINES SQL_MODE longtext -ROUTINES ROUTINE_COMMENT varchar(64) -ROUTINES DEFINER varchar(77) -SCHEMATA CATALOG_NAME varchar(4096) -SCHEMATA SCHEMA_NAME varchar(64) -SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64) -SCHEMATA DEFAULT_COLLATION_NAME varchar(64) -SCHEMATA SQL_PATH varchar(4096) -SCHEMA_PRIVILEGES GRANTEE varchar(81) -SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096) -SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64) -SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64) -SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3) -STATISTICS TABLE_CATALOG varchar(4096) -STATISTICS TABLE_SCHEMA varchar(64) -STATISTICS TABLE_NAME varchar(64) -STATISTICS NON_UNIQUE bigint(1) -STATISTICS INDEX_SCHEMA varchar(64) -STATISTICS INDEX_NAME varchar(64) -STATISTICS SEQ_IN_INDEX bigint(2) -STATISTICS COLUMN_NAME varchar(64) -STATISTICS COLLATION varchar(1) -STATISTICS CARDINALITY bigint(21) -STATISTICS SUB_PART bigint(3) -STATISTICS PACKED varchar(10) -STATISTICS NULLABLE varchar(3) -STATISTICS INDEX_TYPE varchar(16) -STATISTICS COMMENT varchar(16) -TABLES TABLE_CATALOG varchar(4096) -TABLES TABLE_SCHEMA varchar(64) -TABLES TABLE_NAME varchar(64) -TABLES TABLE_TYPE varchar(64) -TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) -TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) -TABLES CREATE_TIME datetime -TABLES UPDATE_TIME datetime -TABLES CHECK_TIME datetime -TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) -TABLES CREATE_OPTIONS varchar(255) -TABLES TABLE_COMMENT varchar(80) -TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) -TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64) -TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64) -TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64) -TABLE_CONSTRAINTS TABLE_NAME varchar(64) -TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64) -TABLE_PRIVILEGES GRANTEE varchar(81) -TABLE_PRIVILEGES TABLE_CATALOG varchar(4096) -TABLE_PRIVILEGES TABLE_SCHEMA varchar(64) -TABLE_PRIVILEGES TABLE_NAME varchar(64) -TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64) -TABLE_PRIVILEGES IS_GRANTABLE varchar(3) -TRIGGERS TRIGGER_CATALOG varchar(4096) -TRIGGERS TRIGGER_SCHEMA varchar(64) -TRIGGERS TRIGGER_NAME varchar(64) -TRIGGERS EVENT_MANIPULATION varchar(6) -TRIGGERS EVENT_OBJECT_CATALOG varchar(4096) -TRIGGERS EVENT_OBJECT_SCHEMA varchar(64) -TRIGGERS EVENT_OBJECT_TABLE varchar(64) -TRIGGERS ACTION_ORDER bigint(4) -TRIGGERS ACTION_CONDITION longtext -TRIGGERS ACTION_STATEMENT longtext -TRIGGERS ACTION_ORIENTATION varchar(9) -TRIGGERS ACTION_TIMING varchar(6) -TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64) -TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64) -TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3) -TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3) -TRIGGERS CREATED datetime -TRIGGERS SQL_MODE longtext -TRIGGERS DEFINER longtext -USER_PRIVILEGES GRANTEE varchar(81) -USER_PRIVILEGES TABLE_CATALOG varchar(4096) -USER_PRIVILEGES PRIVILEGE_TYPE varchar(64) -USER_PRIVILEGES IS_GRANTABLE varchar(3) -VIEWS TABLE_CATALOG varchar(4096) -VIEWS TABLE_SCHEMA varchar(64) -VIEWS TABLE_NAME varchar(64) -VIEWS VIEW_DEFINITION longtext -VIEWS CHECK_OPTION varchar(8) -VIEWS IS_UPDATABLE varchar(3) -VIEWS DEFINER varchar(77) -VIEWS SECURITY_TYPE varchar(7) -t1 f1 char(20) -t1 f2 char(25) -t1 f3 date -t1 f4 int(11) -t1 f5 char(25) -t1 f6 int(11) -t10 f1 char(20) -t10 f2 char(25) -t10 f3 date -t10 f4 int(11) -t10 f5 char(25) -t10 f6 int(11) -t11 f1 char(20) -t11 f2 char(25) -t11 f3 date -t11 f4 int(11) -t11 f5 char(25) -t11 f6 int(11) -t2 f1 char(20) -t2 f2 char(25) -t2 f3 date -t2 f4 int(11) -t2 f5 char(25) -t2 f6 int(11) -t3 f1 char(20) -t3 f2 char(20) -t3 f3 int(11) -t4 f1 char(20) -t4 f2 char(25) -t4 f3 date -t4 f4 int(11) -t4 f5 char(25) -t4 f6 int(11) -t7 f1 char(20) -t7 f2 char(25) -t7 f3 date -t7 f4 int(11) -t8 f1 char(20) -t8 f2 char(25) -t8 f3 date -t8 f4 int(11) -t9 f1 int(11) -t9 f2 char(25) -t9 f3 int(11) -tb1 f1 char(0) -tb1 f2 char(0) -tb1 f3 char(0) -tb1 f4 tinytext -tb1 f5 text -tb1 f6 mediumtext -tb1 f7 longtext -tb1 f8 tinyblob -tb1 f9 blob -tb1 f10 mediumblob -tb1 f11 longblob -tb1 f12 binary(1) -tb1 f13 tinyint(4) -tb1 f14 tinyint(3) unsigned -tb1 f15 tinyint(3) unsigned zerofill -tb1 f16 tinyint(3) unsigned zerofill -tb1 f17 smallint(6) -tb1 f18 smallint(5) unsigned -tb1 f19 smallint(5) unsigned zerofill -tb1 f20 smallint(5) unsigned zerofill -tb1 f21 mediumint(9) -tb1 f22 mediumint(8) unsigned -tb1 f23 mediumint(8) unsigned zerofill -tb1 f24 mediumint(8) unsigned zerofill -tb1 f25 int(11) -tb1 f26 int(10) unsigned -tb1 f27 int(10) unsigned zerofill -tb1 f28 int(10) unsigned zerofill -tb1 f29 bigint(20) -tb1 f30 bigint(20) unsigned -tb1 f31 bigint(20) unsigned zerofill -tb1 f32 bigint(20) unsigned zerofill -tb1 f33 decimal(10,0) -tb1 f34 decimal(10,0) unsigned -tb1 f35 decimal(10,0) unsigned zerofill -tb1 f36 decimal(10,0) unsigned zerofill -tb1 f37 decimal(10,0) -tb1 f38 decimal(64,0) -tb1 f39 decimal(10,0) unsigned -tb1 f40 decimal(64,0) unsigned -tb1 f41 decimal(10,0) unsigned zerofill -tb1 f42 decimal(64,0) unsigned zerofill -tb1 f43 decimal(10,0) unsigned zerofill -tb1 f44 decimal(64,0) unsigned zerofill -tb1 f45 decimal(10,0) -tb1 f46 decimal(63,30) -tb1 f47 decimal(10,0) unsigned -tb1 f48 decimal(63,30) unsigned -tb1 f49 decimal(10,0) unsigned zerofill -tb1 f50 decimal(63,30) unsigned zerofill -tb1 f51 decimal(10,0) unsigned zerofill -tb1 f52 decimal(63,30) unsigned zerofill -tb1 f53 decimal(10,0) -tb1 f54 decimal(10,0) unsigned -tb1 f55 decimal(10,0) unsigned zerofill -tb1 f56 decimal(10,0) unsigned zerofill -tb1 f57 decimal(10,0) -tb1 f58 decimal(64,0) -tb2 f59 decimal(10,0) unsigned -tb2 f60 decimal(64,0) unsigned -tb2 f61 decimal(10,0) unsigned zerofill -tb2 f62 decimal(64,0) unsigned zerofill -tb2 f63 decimal(10,0) unsigned zerofill -tb2 f64 decimal(64,0) unsigned zerofill -tb2 f65 decimal(10,0) -tb2 f66 decimal(63,30) -tb2 f67 decimal(10,0) unsigned -tb2 f68 decimal(63,30) unsigned -tb2 f69 decimal(10,0) unsigned zerofill -tb2 f70 decimal(63,30) unsigned zerofill -tb2 f71 decimal(10,0) unsigned zerofill -tb2 f72 decimal(63,30) unsigned zerofill -tb2 f73 double -tb2 f74 double unsigned -tb2 f75 double unsigned zerofill -tb2 f76 double unsigned zerofill -tb2 f77 double -tb2 f78 double unsigned -tb2 f79 double unsigned zerofill -tb2 f80 double unsigned zerofill -tb2 f81 float -tb2 f82 float unsigned -tb2 f83 float unsigned zerofill -tb2 f84 float unsigned zerofill -tb2 f85 float -tb2 f86 float -tb2 f87 float unsigned -tb2 f88 float unsigned -tb2 f89 float unsigned zerofill -tb2 f90 float unsigned zerofill -tb2 f91 float unsigned zerofill -tb2 f92 float unsigned zerofill -tb2 f93 float -tb2 f94 double -tb2 f95 float unsigned -tb2 f96 double unsigned -tb2 f97 float unsigned zerofill -tb2 f98 double unsigned zerofill -tb2 f99 float unsigned zerofill -tb2 f100 double unsigned zerofill -tb2 f101 date -tb2 f102 time -tb2 f103 datetime -tb2 f104 timestamp -tb2 f105 year(4) -tb2 f106 year(4) -tb2 f107 year(4) -tb2 f108 enum('1enum','2enum') -tb2 f109 set('1set','2set') -tb3 f118 char(1) -tb3 f119 char(1) -tb3 f120 char(1) -tb3 f121 tinytext -tb3 f122 text -tb3 f123 mediumtext -tb3 f124 longtext -tb3 f125 tinyblob -tb3 f126 blob -tb3 f127 mediumblob -tb3 f128 longblob -tb3 f129 binary(1) -tb3 f130 tinyint(4) -tb3 f131 tinyint(3) unsigned -tb3 f132 tinyint(3) unsigned zerofill -tb3 f133 tinyint(3) unsigned zerofill -tb3 f134 smallint(6) -tb3 f135 smallint(5) unsigned -tb3 f136 smallint(5) unsigned zerofill -tb3 f137 smallint(5) unsigned zerofill -tb3 f138 mediumint(9) -tb3 f139 mediumint(8) unsigned -tb3 f140 mediumint(8) unsigned zerofill -tb3 f141 mediumint(8) unsigned zerofill -tb3 f142 int(11) -tb3 f143 int(10) unsigned -tb3 f144 int(10) unsigned zerofill -tb3 f145 int(10) unsigned zerofill -tb3 f146 bigint(20) -tb3 f147 bigint(20) unsigned -tb3 f148 bigint(20) unsigned zerofill -tb3 f149 bigint(20) unsigned zerofill -tb3 f150 decimal(10,0) -tb3 f151 decimal(10,0) unsigned -tb3 f152 decimal(10,0) unsigned zerofill -tb3 f153 decimal(10,0) unsigned zerofill -tb3 f154 decimal(10,0) -tb3 f155 decimal(64,0) -tb3 f156 decimal(10,0) unsigned -tb3 f157 decimal(64,0) unsigned -tb3 f158 decimal(10,0) unsigned zerofill -tb3 f159 decimal(64,0) unsigned zerofill -tb3 f160 decimal(10,0) unsigned zerofill -tb3 f161 decimal(64,0) unsigned zerofill -tb3 f162 decimal(10,0) -tb3 f163 decimal(63,30) -tb3 f164 decimal(10,0) unsigned -tb3 f165 decimal(63,30) unsigned -tb3 f166 decimal(10,0) unsigned zerofill -tb3 f167 decimal(63,30) unsigned zerofill -tb3 f168 decimal(10,0) unsigned zerofill -tb3 f169 decimal(63,30) unsigned zerofill -tb3 f170 decimal(10,0) -tb3 f171 decimal(10,0) unsigned -tb3 f172 decimal(10,0) unsigned zerofill -tb3 f173 decimal(10,0) unsigned zerofill -tb3 f174 decimal(10,0) -tb3 f175 decimal(64,0) -tb4 f176 decimal(10,0) unsigned -tb4 f177 decimal(64,0) unsigned -tb4 f178 decimal(10,0) unsigned zerofill -tb4 f179 decimal(64,0) unsigned zerofill -tb4 f180 decimal(10,0) unsigned zerofill -tb4 f181 decimal(64,0) unsigned zerofill -tb4 f182 decimal(10,0) -tb4 f183 decimal(63,30) -tb4 f184 decimal(10,0) unsigned -tb4 f185 decimal(63,30) unsigned -tb4 f186 decimal(10,0) unsigned zerofill -tb4 f187 decimal(63,30) unsigned zerofill -tb4 f188 decimal(10,0) unsigned zerofill -tb4 f189 decimal(63,30) unsigned zerofill -tb4 f190 double -tb4 f191 double unsigned -tb4 f192 double unsigned zerofill -tb4 f193 double unsigned zerofill -tb4 f194 double -tb4 f195 double unsigned -tb4 f196 double unsigned zerofill -tb4 f197 double unsigned zerofill -tb4 f198 float -tb4 f199 float unsigned -tb4 f200 float unsigned zerofill -tb4 f201 float unsigned zerofill -tb4 f202 float -tb4 f203 float -tb4 f204 float unsigned -tb4 f205 float unsigned -tb4 f206 float unsigned zerofill -tb4 f207 float unsigned zerofill -tb4 f208 float unsigned zerofill -tb4 f209 float unsigned zerofill -tb4 f210 float -tb4 f211 double -tb4 f212 float unsigned -tb4 f213 double unsigned -tb4 f214 float unsigned zerofill -tb4 f215 double unsigned zerofill -tb4 f216 float unsigned zerofill -tb4 f217 double unsigned zerofill -tb4 f218 date -tb4 f219 time -tb4 f220 datetime -tb4 f221 timestamp -tb4 f222 year(4) -tb4 f223 year(4) -tb4 f224 year(4) -tb4 f225 enum('1enum','2enum') -tb4 f226 set('1set','2set') -tb4 f235 char(0) -tb4 f236 char(90) -tb4 f237 char(255) -tb4 f238 varchar(0) -tb4 f239 varchar(20000) -tb4 f240 varchar(2000) -tb4 f241 char(100) -select character_set_name from character_sets; -character_set_name -big5 -dec8 -cp850 -hp8 -koi8r -latin1 -latin2 -swe7 -ascii -ujis -sjis -hebrew -tis620 -euckr -koi8u -gb2312 -greek -cp1250 -gbk -latin5 -armscii8 -utf8 -ucs2 -cp866 -keybcs2 -macce -macroman -cp852 -latin7 -cp1251 -cp1256 -cp1257 -binary -geostd8 -cp932 -eucjpms -select collation_name from collations where collation_name <> 'utf8_general_cs'; -collation_name -big5_chinese_ci -big5_bin -dec8_swedish_ci -dec8_bin -cp850_general_ci -cp850_bin -hp8_english_ci -hp8_bin -koi8r_general_ci -koi8r_bin -latin1_german1_ci -latin1_swedish_ci -latin1_danish_ci -latin1_german2_ci -latin1_bin -latin1_general_ci -latin1_general_cs -latin1_spanish_ci -latin2_czech_cs -latin2_general_ci -latin2_hungarian_ci -latin2_croatian_ci -latin2_bin -swe7_swedish_ci -swe7_bin -ascii_general_ci -ascii_bin -ujis_japanese_ci -ujis_bin -sjis_japanese_ci -sjis_bin -hebrew_general_ci -hebrew_bin -tis620_thai_ci -tis620_bin -euckr_korean_ci -euckr_bin -koi8u_general_ci -koi8u_bin -gb2312_chinese_ci -gb2312_bin -greek_general_ci -greek_bin -cp1250_general_ci -cp1250_czech_cs -cp1250_croatian_ci -cp1250_bin -gbk_chinese_ci -gbk_bin -latin5_turkish_ci -latin5_bin -armscii8_general_ci -armscii8_bin -utf8_general_ci -utf8_bin -utf8_unicode_ci -utf8_icelandic_ci -utf8_latvian_ci -utf8_romanian_ci -utf8_slovenian_ci -utf8_polish_ci -utf8_estonian_ci -utf8_spanish_ci -utf8_swedish_ci -utf8_turkish_ci -utf8_czech_ci -utf8_danish_ci -utf8_lithuanian_ci -utf8_slovak_ci -utf8_spanish2_ci -utf8_roman_ci -utf8_persian_ci -utf8_esperanto_ci -utf8_hungarian_ci -ucs2_general_ci -ucs2_bin -ucs2_unicode_ci -ucs2_icelandic_ci -ucs2_latvian_ci -ucs2_romanian_ci -ucs2_slovenian_ci -ucs2_polish_ci -ucs2_estonian_ci -ucs2_spanish_ci -ucs2_swedish_ci -ucs2_turkish_ci -ucs2_czech_ci -ucs2_danish_ci -ucs2_lithuanian_ci -ucs2_slovak_ci -ucs2_spanish2_ci -ucs2_roman_ci -ucs2_persian_ci -ucs2_esperanto_ci -ucs2_hungarian_ci -cp866_general_ci -cp866_bin -keybcs2_general_ci -keybcs2_bin -macce_general_ci -macce_bin -macroman_general_ci -macroman_bin -cp852_general_ci -cp852_bin -latin7_estonian_cs -latin7_general_ci -latin7_general_cs -latin7_bin -cp1251_bulgarian_ci -cp1251_ukrainian_ci -cp1251_bin -cp1251_general_ci -cp1251_general_cs -cp1256_general_ci -cp1256_bin -cp1257_lithuanian_ci -cp1257_bin -cp1257_general_ci -binary -geostd8_general_ci -geostd8_bin -cp932_japanese_ci -cp932_bin -eucjpms_japanese_ci -eucjpms_bin -select routine_name, routine_type from routines; -routine_name routine_type -select table_name, index_name from statistics; -table_name index_name -select table_name from views; -table_name -select privilege_type from user_privileges; -privilege_type -USAGE -select grantee, privilege_type from schema_privileges; -grantee privilege_type -select * from table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select column_name, privilege_type from column_privileges; -column_name privilege_type -select table_name,constraint_type from table_constraints; -table_name constraint_type -select table_schema, table_name, column_name from key_column_usage; -table_schema table_name column_name - -root@localhost db_datadict -DROP USER 'u_6_401017'@'localhost'; - -Testcase 3.2.1.18: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401018'@'localhost'; -GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost'; -SHOW GRANTS FOR 'u_6_401018'@'localhost'; -Grants for u_6_401018@localhost -GRANT USAGE ON *.* TO 'u_6_401018'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost' -FLUSH PRIVILEGES; -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK); -USE db_datadict; -create view db_datadict.v_401018 as -select * from information_schema.schemata; -SELECT * FROM v_401018 ORDER BY 2 DESC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL - -root@localhost NULL -DROP USER 'u_6_401018'@'localhost'; -DROP DATABASE db_datadict; - -Testcase 3.2.1.19: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401019'@'localhost'; -grant alter on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant alter routine on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create routine on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create temporary tables -on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant delete on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant drop on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant execute on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant index on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant insert on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant lock tables on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant update on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -SELECT * FROM information_schema.table_privileges -WHERE table_schema = "information_schema"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM information_schema.column_privileges -WHERE table_schema = "information_schema"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -DROP USER 'u_6_401019'@'localhost'; - -Testcase 3.2.1.20: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401020'@'localhost'; -connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL -CREATE TABLE tb_not_allowed ( col TEXT ); -ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema -create view res_v1 as select * from information_schema.schemata; -ERROR 42S02: Unknown table 'res_v1' in information_schema -alter table schemata modify catalog_name varchar(255); -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' -update schemata set catalog_name = 'abc' - where schema_name = 'information_schema'; -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' -CREATE PROCEDURE sp_3_2_1_20() -BEGIN -INSERT INTO information_schema.schema_privileges (table_schema,privilege_type) -VALUES('db2','insert'); -END// -ERROR 42000: Unknown database 'information_schema' -DELETE FROM schemata WHERE schema_name = 'information_schema'; -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' - -root@localhost NULL -DROP USER 'u_6_401020'@'localhost'; - -Testcase 3.2.2.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC character_sets; -Field Type Null Key Default Extra -CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATE_NAME varchar(64) NO -DESCRIPTION varchar(60) NO -MAXLEN bigint(3) NO 0 -SHOW CREATE TABLE character_sets; -Table Create Table -CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL default '', - `DESCRIPTION` varchar(60) NOT NULL default '', - `MAXLEN` bigint(3) NOT NULL default '0' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'character_sets' -ORDER BY ordinal_position; -COUNT(*) -4 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'character_sets' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select - -Testcase 3.2.2.2: --------------------------------------------------------------------------------- - -root@localhost information_schema -SELECT * FROM information_schema.character_sets; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -latin1 latin1_swedish_ci cp1252 West European 1 -latin2 latin2_general_ci ISO 8859-2 Central European 1 -swe7 swe7_swedish_ci 7bit Swedish 1 -ascii ascii_general_ci US ASCII 1 -ujis ujis_japanese_ci EUC-JP Japanese 3 -sjis sjis_japanese_ci Shift-JIS Japanese 2 -hebrew hebrew_general_ci ISO 8859-8 Hebrew 1 -tis620 tis620_thai_ci TIS620 Thai 1 -euckr euckr_korean_ci EUC-KR Korean 2 -koi8u koi8u_general_ci KOI8-U Ukrainian 1 -gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2 -greek greek_general_ci ISO 8859-7 Greek 1 -cp1250 cp1250_general_ci Windows Central European 1 -gbk gbk_chinese_ci GBK Simplified Chinese 2 -latin5 latin5_turkish_ci ISO 8859-9 Turkish 1 -armscii8 armscii8_general_ci ARMSCII-8 Armenian 1 -utf8 utf8_general_ci UTF-8 Unicode 3 -ucs2 ucs2_general_ci UCS-2 Unicode 2 -cp866 cp866_general_ci DOS Russian 1 -keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1 -macce macce_general_ci Mac Central European 1 -macroman macroman_general_ci Mac West European 1 -cp852 cp852_general_ci DOS Central European 1 -latin7 latin7_general_ci ISO 8859-13 Baltic 1 -cp1251 cp1251_general_ci Windows Cyrillic 1 -cp1256 cp1256_general_ci Windows Arabic 1 -cp1257 cp1257_general_ci Windows Baltic 1 -binary binary Binary pseudo charset 1 -geostd8 geostd8_general_ci GEOSTD8 Georgian 1 -cp932 cp932_japanese_ci SJIS for Windows Japanese 2 -eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3 - -Testcase 3.2.2.3: --------------------------------------------------------------------------------- - -Testcase 3.2.3.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC collations; -Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO -ID bigint(11) NO 0 -IS_DEFAULT varchar(3) NO -IS_COMPILED varchar(3) NO -SORTLEN bigint(3) NO 0 -SHOW CREATE TABLE collations; -Table Create Table -COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` ( - `COLLATION_NAME` varchar(64) NOT NULL default '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `ID` bigint(11) NOT NULL default '0', - `IS_DEFAULT` varchar(3) NOT NULL default '', - `IS_COMPILED` varchar(3) NOT NULL default '', - `SORTLEN` bigint(3) NOT NULL default '0' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collations' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collations' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select - -Testcase 3.2.3.2: --------------------------------------------------------------------------------- -SELECT * FROM collations where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -big5_bin big5 84 Yes 1 -dec8_swedish_ci dec8 3 Yes 0 -dec8_bin dec8 69 0 -cp850_general_ci cp850 4 Yes 0 -cp850_bin cp850 80 0 -hp8_english_ci hp8 6 Yes 0 -hp8_bin hp8 72 0 -koi8r_general_ci koi8r 7 Yes 0 -koi8r_bin koi8r 74 0 -latin1_german1_ci latin1 5 Yes 1 -latin1_swedish_ci latin1 8 Yes Yes 1 -latin1_danish_ci latin1 15 Yes 1 -latin1_german2_ci latin1 31 Yes 2 -latin1_bin latin1 47 Yes 1 -latin1_general_ci latin1 48 Yes 1 -latin1_general_cs latin1 49 Yes 1 -latin1_spanish_ci latin1 94 Yes 1 -latin2_czech_cs latin2 2 Yes 4 -latin2_general_ci latin2 9 Yes Yes 1 -latin2_hungarian_ci latin2 21 Yes 1 -latin2_croatian_ci latin2 27 Yes 1 -latin2_bin latin2 77 Yes 1 -swe7_swedish_ci swe7 10 Yes 0 -swe7_bin swe7 82 0 -ascii_general_ci ascii 11 Yes 0 -ascii_bin ascii 65 0 -ujis_japanese_ci ujis 12 Yes Yes 1 -ujis_bin ujis 91 Yes 1 -sjis_japanese_ci sjis 13 Yes Yes 1 -sjis_bin sjis 88 Yes 1 -hebrew_general_ci hebrew 16 Yes 0 -hebrew_bin hebrew 71 0 -tis620_thai_ci tis620 18 Yes Yes 4 -tis620_bin tis620 89 Yes 1 -euckr_korean_ci euckr 19 Yes Yes 1 -euckr_bin euckr 85 Yes 1 -koi8u_general_ci koi8u 22 Yes 0 -koi8u_bin koi8u 75 0 -gb2312_chinese_ci gb2312 24 Yes Yes 1 -gb2312_bin gb2312 86 Yes 1 -greek_general_ci greek 25 Yes 0 -greek_bin greek 70 0 -cp1250_general_ci cp1250 26 Yes Yes 1 -cp1250_czech_cs cp1250 34 Yes 2 -cp1250_croatian_ci cp1250 44 Yes 1 -cp1250_bin cp1250 66 Yes 1 -gbk_chinese_ci gbk 28 Yes Yes 1 -gbk_bin gbk 87 Yes 1 -latin5_turkish_ci latin5 30 Yes 0 -latin5_bin latin5 78 0 -armscii8_general_ci armscii8 32 Yes 0 -armscii8_bin armscii8 64 0 -utf8_general_ci utf8 33 Yes Yes 1 -utf8_bin utf8 83 Yes 1 -utf8_unicode_ci utf8 192 Yes 8 -utf8_icelandic_ci utf8 193 Yes 8 -utf8_latvian_ci utf8 194 Yes 8 -utf8_romanian_ci utf8 195 Yes 8 -utf8_slovenian_ci utf8 196 Yes 8 -utf8_polish_ci utf8 197 Yes 8 -utf8_estonian_ci utf8 198 Yes 8 -utf8_spanish_ci utf8 199 Yes 8 -utf8_swedish_ci utf8 200 Yes 8 -utf8_turkish_ci utf8 201 Yes 8 -utf8_czech_ci utf8 202 Yes 8 -utf8_danish_ci utf8 203 Yes 8 -utf8_lithuanian_ci utf8 204 Yes 8 -utf8_slovak_ci utf8 205 Yes 8 -utf8_spanish2_ci utf8 206 Yes 8 -utf8_roman_ci utf8 207 Yes 8 -utf8_persian_ci utf8 208 Yes 8 -utf8_esperanto_ci utf8 209 Yes 8 -utf8_hungarian_ci utf8 210 Yes 8 -ucs2_general_ci ucs2 35 Yes Yes 1 -ucs2_bin ucs2 90 Yes 1 -ucs2_unicode_ci ucs2 128 Yes 8 -ucs2_icelandic_ci ucs2 129 Yes 8 -ucs2_latvian_ci ucs2 130 Yes 8 -ucs2_romanian_ci ucs2 131 Yes 8 -ucs2_slovenian_ci ucs2 132 Yes 8 -ucs2_polish_ci ucs2 133 Yes 8 -ucs2_estonian_ci ucs2 134 Yes 8 -ucs2_spanish_ci ucs2 135 Yes 8 -ucs2_swedish_ci ucs2 136 Yes 8 -ucs2_turkish_ci ucs2 137 Yes 8 -ucs2_czech_ci ucs2 138 Yes 8 -ucs2_danish_ci ucs2 139 Yes 8 -ucs2_lithuanian_ci ucs2 140 Yes 8 -ucs2_slovak_ci ucs2 141 Yes 8 -ucs2_spanish2_ci ucs2 142 Yes 8 -ucs2_roman_ci ucs2 143 Yes 8 -ucs2_persian_ci ucs2 144 Yes 8 -ucs2_esperanto_ci ucs2 145 Yes 8 -ucs2_hungarian_ci ucs2 146 Yes 8 -cp866_general_ci cp866 36 Yes 0 -cp866_bin cp866 68 0 -keybcs2_general_ci keybcs2 37 Yes 0 -keybcs2_bin keybcs2 73 0 -macce_general_ci macce 38 Yes 0 -macce_bin macce 43 0 -macroman_general_ci macroman 39 Yes 0 -macroman_bin macroman 53 0 -cp852_general_ci cp852 40 Yes 0 -cp852_bin cp852 81 0 -latin7_estonian_cs latin7 20 0 -latin7_general_ci latin7 41 Yes 0 -latin7_general_cs latin7 42 0 -latin7_bin latin7 79 0 -cp1251_bulgarian_ci cp1251 14 0 -cp1251_ukrainian_ci cp1251 23 0 -cp1251_bin cp1251 50 0 -cp1251_general_ci cp1251 51 Yes 0 -cp1251_general_cs cp1251 52 0 -cp1256_general_ci cp1256 57 Yes 0 -cp1256_bin cp1256 67 0 -cp1257_lithuanian_ci cp1257 29 0 -cp1257_bin cp1257 58 0 -cp1257_general_ci cp1257 59 Yes 0 -binary binary 63 Yes Yes 1 -geostd8_general_ci geostd8 92 Yes 0 -geostd8_bin geostd8 93 0 -cp932_japanese_ci cp932 95 Yes Yes 1 -cp932_bin cp932 96 Yes 1 -eucjpms_japanese_ci eucjpms 97 Yes Yes 1 -eucjpms_bin eucjpms 98 Yes 1 - -Testcase 3.2.3.3: --------------------------------------------------------------------------------- - -Testcase 3.2.4.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC collation_character_set_applicability; -Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO -SHOW CREATE TABLE collation_character_set_applicability; -Table Create Table -COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` ( - `COLLATION_NAME` varchar(64) NOT NULL default '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collation_character_set_applicability' -ORDER BY ordinal_position; -COUNT(*) -2 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collation_character_set_applicability' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.4.2: --------------------------------------------------------------------------------- -SELECT * FROM collation_character_set_applicability -where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -cp850_bin cp850 -hp8_english_ci hp8 -hp8_bin hp8 -koi8r_general_ci koi8r -koi8r_bin koi8r -latin1_german1_ci latin1 -latin1_swedish_ci latin1 -latin1_danish_ci latin1 -latin1_german2_ci latin1 -latin1_bin latin1 -latin1_general_ci latin1 -latin1_general_cs latin1 -latin1_spanish_ci latin1 -latin2_czech_cs latin2 -latin2_general_ci latin2 -latin2_hungarian_ci latin2 -latin2_croatian_ci latin2 -latin2_bin latin2 -swe7_swedish_ci swe7 -swe7_bin swe7 -ascii_general_ci ascii -ascii_bin ascii -ujis_japanese_ci ujis -ujis_bin ujis -sjis_japanese_ci sjis -sjis_bin sjis -hebrew_general_ci hebrew -hebrew_bin hebrew -tis620_thai_ci tis620 -tis620_bin tis620 -euckr_korean_ci euckr -euckr_bin euckr -koi8u_general_ci koi8u -koi8u_bin koi8u -gb2312_chinese_ci gb2312 -gb2312_bin gb2312 -greek_general_ci greek -greek_bin greek -cp1250_general_ci cp1250 -cp1250_czech_cs cp1250 -cp1250_croatian_ci cp1250 -cp1250_bin cp1250 -gbk_chinese_ci gbk -gbk_bin gbk -latin5_turkish_ci latin5 -latin5_bin latin5 -armscii8_general_ci armscii8 -armscii8_bin armscii8 -utf8_general_ci utf8 -utf8_bin utf8 -utf8_unicode_ci utf8 -utf8_icelandic_ci utf8 -utf8_latvian_ci utf8 -utf8_romanian_ci utf8 -utf8_slovenian_ci utf8 -utf8_polish_ci utf8 -utf8_estonian_ci utf8 -utf8_spanish_ci utf8 -utf8_swedish_ci utf8 -utf8_turkish_ci utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_lithuanian_ci utf8 -utf8_slovak_ci utf8 -utf8_spanish2_ci utf8 -utf8_roman_ci utf8 -utf8_persian_ci utf8 -utf8_esperanto_ci utf8 -utf8_hungarian_ci utf8 -ucs2_general_ci ucs2 -ucs2_bin ucs2 -ucs2_unicode_ci ucs2 -ucs2_icelandic_ci ucs2 -ucs2_latvian_ci ucs2 -ucs2_romanian_ci ucs2 -ucs2_slovenian_ci ucs2 -ucs2_polish_ci ucs2 -ucs2_estonian_ci ucs2 -ucs2_spanish_ci ucs2 -ucs2_swedish_ci ucs2 -ucs2_turkish_ci ucs2 -ucs2_czech_ci ucs2 -ucs2_danish_ci ucs2 -ucs2_lithuanian_ci ucs2 -ucs2_slovak_ci ucs2 -ucs2_spanish2_ci ucs2 -ucs2_roman_ci ucs2 -ucs2_persian_ci ucs2 -ucs2_esperanto_ci ucs2 -ucs2_hungarian_ci ucs2 -cp866_general_ci cp866 -cp866_bin cp866 -keybcs2_general_ci keybcs2 -keybcs2_bin keybcs2 -macce_general_ci macce -macce_bin macce -macroman_general_ci macroman -macroman_bin macroman -cp852_general_ci cp852 -cp852_bin cp852 -latin7_estonian_cs latin7 -latin7_general_ci latin7 -latin7_general_cs latin7 -latin7_bin latin7 -cp1251_bulgarian_ci cp1251 -cp1251_ukrainian_ci cp1251 -cp1251_bin cp1251 -cp1251_general_ci cp1251 -cp1251_general_cs cp1251 -cp1256_general_ci cp1256 -cp1256_bin cp1256 -cp1257_lithuanian_ci cp1257 -cp1257_bin cp1257 -cp1257_general_ci cp1257 -binary binary -geostd8_general_ci geostd8 -geostd8_bin geostd8 -cp932_japanese_ci cp932 -cp932_bin cp932 -eucjpms_japanese_ci eucjpms -eucjpms_bin eucjpms - -Testcase 3.2.4.3: --------------------------------------------------------------------------------- - -Testcase 3.2.5.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC column_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE column_privileges; -Table Create Table -COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'column_privileges' -ORDER BY ordinal_position; -COUNT(*) -7 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'column_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -CREATE USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; -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'; -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES - -FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has -------------------------------------------------------------------------------------- -GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION; -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -FLUSH PRIVILEGES; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES ---------------------------------------------------------------------------------- -SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES -'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES -SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict SELECT NO -'user_3'@'localhost' NULL db_datadict INSERT NO -'user_3'@'localhost' NULL db_datadict UPDATE NO -'user_3'@'localhost' NULL db_datadict DELETE NO -'user_3'@'localhost' NULL db_datadict CREATE NO -'user_3'@'localhost' NULL db_datadict DROP NO -'user_3'@'localhost' NULL db_datadict REFERENCES NO -'user_3'@'localhost' NULL db_datadict INDEX NO -'user_3'@'localhost' NULL db_datadict ALTER NO -'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO -'user_3'@'localhost' NULL db_datadict LOCK TABLES NO -'user_3'@'localhost' NULL db_datadict EXECUTE NO -'user_3'@'localhost' NULL db_datadict CREATE VIEW NO -'user_3'@'localhost' NULL db_datadict SHOW VIEW NO -'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO -'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost'; - -FIXME: check whether it is intended that *my* grants to others are *NOT* shown here ------------------------------------------------------------------------------------ -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES - -user_2@localhost db_datadict -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO - -root@localhost db_datadict -DROP TABLE IF EXISTS db_datadict.res_t40502; -DROP DATABASE IF EXISTS db_datadict; -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP USER 'user_3'@'localhost'; - -Testcase 3.2.6.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC columns; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 -COLUMN_DEFAULT longtext YES NULL -IS_NULLABLE varchar(3) NO -DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL -CHARACTER_SET_NAME varchar(64) YES NULL -COLLATION_NAME varchar(64) YES NULL -COLUMN_TYPE longtext NO NULL -COLUMN_KEY varchar(3) NO -EXTRA varchar(20) NO -PRIVILEGES varchar(80) NO -COLUMN_COMMENT varchar(255) NO -SHOW CREATE TABLE columns; -Table Create Table -COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `ORDINAL_POSITION` bigint(21) NOT NULL default '0', - `COLUMN_DEFAULT` longtext, - `IS_NULLABLE` varchar(3) NOT NULL default '', - `DATA_TYPE` varchar(64) NOT NULL default '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) default NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) default NULL, - `NUMERIC_PRECISION` bigint(21) default NULL, - `NUMERIC_SCALE` bigint(21) default NULL, - `CHARACTER_SET_NAME` varchar(64) default NULL, - `COLLATION_NAME` varchar(64) default NULL, - `COLUMN_TYPE` longtext NOT NULL, - `COLUMN_KEY` varchar(3) NOT NULL default '', - `EXTRA` varchar(20) NOT NULL default '', - `PRIVILEGES` varchar(80) NOT NULL default '', - `COLUMN_COMMENT` varchar(255) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'columns' -ORDER BY ordinal_position; -COUNT(*) -19 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'columns' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select - -Testcase 3.2.6.2 + 3.2.6.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references -NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references -NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references -NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references -NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references -NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references -NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references -NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references -NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references -NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references -NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references -NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references -NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references -NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references -NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references -NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references -NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references -NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references -NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references -NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select -NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references -NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references -NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references -NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert -NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references -NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references -NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references -NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references - -root@localhost db_datadict - -Show the quotient of COL and CML for all COLUMNS ------------------------------------------------- -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; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -1.0000 binary NULL NULL -1.0000 blob NULL NULL -1.0000 longblob NULL NULL -1.0000 mediumblob NULL NULL -1.0000 tinyblob NULL NULL -1.0000 char latin1 latin1_bin -1.0000 varchar latin1 latin1_bin -1.0000 char latin1 latin1_swedish_ci -1.0000 enum latin1 latin1_swedish_ci -1.0000 longtext latin1 latin1_swedish_ci -1.0000 mediumtext latin1 latin1_swedish_ci -1.0000 set latin1 latin1_swedish_ci -1.0000 text latin1 latin1_swedish_ci -1.0000 tinytext latin1 latin1_swedish_ci -1.0000 longtext utf8 utf8_general_ci -1.0000 text utf8 utf8_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; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -2.0000 char ucs2 ucs2_general_ci -2.0000 longtext ucs2 ucs2_general_ci -2.0000 varchar ucs2 ucs2_general_ci -2.0079 tinytext ucs2 ucs2_general_ci -3.0000 char utf8 utf8_bin -3.0000 enum utf8 utf8_bin -3.0000 char utf8 utf8_general_ci -3.0000 enum utf8 utf8_general_ci -3.0000 set utf8 utf8_general_ci -3.0000 varchar utf8 utf8_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 IS NULL -ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -NULL bigint NULL NULL -NULL date NULL NULL -NULL datetime NULL NULL -NULL decimal NULL NULL -NULL double NULL NULL -NULL double unsigned NULL NULL -NULL double unsigned zerofill NULL NULL -NULL float NULL NULL -NULL float unsigned NULL NULL -NULL float unsigned zerofill NULL NULL -NULL int NULL NULL -NULL mediumint NULL NULL -NULL smallint NULL NULL -NULL time NULL NULL -NULL timestamp NULL NULL -NULL tinyint NULL NULL -NULL year NULL NULL -NULL char latin1 latin1_bin -NULL char latin1 latin1_swedish_ci -NULL varchar latin1 latin1_swedish_ci -NULL char ucs2 ucs2_general_ci ---> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values ---> are 0, which is intended behavior, and the result of 0 / 0 IS NULL -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; -COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE -1.0000 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10) -1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text -NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date -NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11) -1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10) -1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text -NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date -NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11) -3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60) -NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11) -3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3) -NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20) -3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80) -3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 255 765 utf8 utf8_general_ci varchar(255) -3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10) -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) -3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) -1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8) -3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) -NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime -NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime -1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) -3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1) -3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2) -3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1) -NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21) -NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10) -3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16) -3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16) -3.0000 information_schema TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime -3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) -3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6) -3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4) -1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9) -3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) -NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime -1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8) -3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) -3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) -3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64) -NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') -3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql db User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) -NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) -3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) -3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate') -NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128) -NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text -1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text -3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128) -3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64) -3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') -3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64) -3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL') -3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') -3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO') -3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER') -1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob -3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64) -1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob -3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77) -NULL mysql proc created timestamp NULL NULL NULL NULL timestamp -NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp -3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') -3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE') -3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77) -3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant') -NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77) -NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql tables_priv Table_priv set 90 270 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') -3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') -NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N') -NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20) -NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11) -3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20) -NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11) -NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned -3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8) -3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql user User char 16 48 utf8 utf8_bin char(16) -1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41) -3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') -1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob -1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob -1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob -NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned -1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t1 f3 date NULL NULL NULL NULL date -NULL test t1 f4 int NULL NULL NULL NULL int(11) -1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t1 f6 int NULL NULL NULL NULL int(11) -1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t10 f3 date NULL NULL NULL NULL date -NULL test t10 f4 int NULL NULL NULL NULL int(11) -1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t10 f6 int NULL NULL NULL NULL int(11) -1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t11 f3 date NULL NULL NULL NULL date -NULL test t11 f4 int NULL NULL NULL NULL int(11) -1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t11 f6 int NULL NULL NULL NULL int(11) -1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t2 f3 date NULL NULL NULL NULL date -NULL test t2 f4 int NULL NULL NULL NULL int(11) -1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t2 f6 int NULL NULL NULL NULL int(11) -1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) -NULL test t3 f3 int NULL NULL NULL NULL int(11) -1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t4 f3 date NULL NULL NULL NULL date -NULL test t4 f4 int NULL NULL NULL NULL int(11) -1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t4 f6 int NULL NULL NULL NULL int(11) -1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t7 f3 date NULL NULL NULL NULL date -NULL test t7 f4 int NULL NULL NULL NULL int(11) -1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t8 f3 date NULL NULL NULL NULL date -NULL test t8 f4 int NULL NULL NULL NULL int(11) -NULL test t9 f1 int NULL NULL NULL NULL int(11) -1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t9 f3 int NULL NULL NULL NULL int(11) -NULL test tb1 f1 char 0 0 latin1 latin1_swedish_ci char(0) -NULL test tb1 f2 char 0 0 latin1 latin1_bin char(0) -NULL test tb1 f3 char 0 0 latin1 latin1_swedish_ci char(0) -2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext -1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text -1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext -1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext -1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob -1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob -1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob -1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob -1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1) -NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4) -NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned -NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6) -NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned -NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9) -NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned -NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb1 f25 int NULL NULL NULL NULL int(11) -NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned -NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20) -NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned -NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb2 f73 double NULL NULL NULL NULL double -NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f77 double NULL NULL NULL NULL double -NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f81 float NULL NULL NULL NULL float -NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f85 float NULL NULL NULL NULL float -NULL test tb2 f86 float NULL NULL NULL NULL float -NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f93 float NULL NULL NULL NULL float -NULL test tb2 f94 double NULL NULL NULL NULL double -NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f101 date NULL NULL NULL NULL date -NULL test tb2 f102 time NULL NULL NULL NULL time -NULL test tb2 f103 datetime NULL NULL NULL NULL datetime -NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp -NULL test tb2 f105 year NULL NULL NULL NULL year(4) -NULL test tb2 f106 year NULL NULL NULL NULL year(4) -NULL test tb2 f107 year NULL NULL NULL NULL year(4) -1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1) -1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext -1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text -1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext -2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext -1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob -1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob -1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob -1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob -1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1) -NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4) -NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned -NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6) -NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned -NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9) -NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned -NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb3 f142 int NULL NULL NULL NULL int(11) -NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned -NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20) -NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned -NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb4 f190 double NULL NULL NULL NULL double -NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f194 double NULL NULL NULL NULL double -NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f198 float NULL NULL NULL NULL float -NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f202 float NULL NULL NULL NULL float -NULL test tb4 f203 float NULL NULL NULL NULL float -NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f210 float NULL NULL NULL NULL float -NULL test tb4 f211 double NULL NULL NULL NULL double -NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f218 date NULL NULL NULL NULL date -NULL test tb4 f219 time NULL NULL NULL NULL time -NULL test tb4 f220 datetime NULL NULL NULL NULL datetime -NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp -NULL test tb4 f222 year NULL NULL NULL NULL year(4) -NULL test tb4 f223 year NULL NULL NULL NULL year(4) -NULL test tb4 f224 year NULL NULL NULL NULL year(4) -1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -NULL test tb4 f235 char 0 0 ucs2 ucs2_general_ci char(0) -1.0000 test tb4 f236 char 90 90 latin1 latin1_swedish_ci char(90) -1.0000 test tb4 f237 char 255 255 latin1 latin1_swedish_ci char(255) -NULL test tb4 f238 varchar 0 0 latin1 latin1_swedish_ci varchar(0) -1.0000 test tb4 f239 varchar 20000 20000 latin1 latin1_bin varchar(20000) -2.0000 test tb4 f240 varchar 2000 4000 ucs2 ucs2_general_ci varchar(2000) -2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100) -NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) -NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) -NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test1 tb2 f73 double NULL NULL NULL NULL double -NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f77 double NULL NULL NULL NULL double -NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f81 float NULL NULL NULL NULL float -NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f85 float NULL NULL NULL NULL float -NULL test1 tb2 f86 float NULL NULL NULL NULL float -NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f93 float NULL NULL NULL NULL float -NULL test1 tb2 f94 double NULL NULL NULL NULL double -NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f101 date NULL NULL NULL NULL date -NULL test1 tb2 f102 time NULL NULL NULL NULL time -NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime -NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp -NULL test1 tb2 f105 year NULL NULL NULL NULL year(4) -NULL test1 tb2 f106 year NULL NULL NULL NULL year(4) -NULL test1 tb2 f107 year NULL NULL NULL NULL year(4) -1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test4 t6 f3 date NULL NULL NULL NULL date -NULL test4 t6 f4 int NULL NULL NULL NULL int(11) -1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test4 t6 f6 int NULL NULL NULL NULL int(11) -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; - -Testcase 3.2.7.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC key_column_usage; -Field Type Null Key Default Extra -CONSTRAINT_CATALOG varchar(4096) YES NULL -CONSTRAINT_SCHEMA varchar(64) NO -CONSTRAINT_NAME varchar(64) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(10) NO 0 -POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL -REFERENCED_TABLE_SCHEMA varchar(64) YES NULL -REFERENCED_TABLE_NAME varchar(64) YES NULL -REFERENCED_COLUMN_NAME varchar(64) YES NULL -SHOW CREATE TABLE key_column_usage; -Table Create Table -KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` ( - `CONSTRAINT_CATALOG` varchar(4096) default NULL, - `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', - `CONSTRAINT_NAME` varchar(64) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `ORDINAL_POSITION` bigint(10) NOT NULL default '0', - `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) default NULL, - `REFERENCED_TABLE_SCHEMA` varchar(64) default NULL, - `REFERENCED_TABLE_NAME` varchar(64) default NULL, - `REFERENCED_COLUMN_NAME` varchar(64) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'key_column_usage' -ORDER BY ordinal_position; -COUNT(*) -12 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'key_column_usage' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.7.2 + 3.2.7.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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'; -FLUSH PRIVILEGES; -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL -NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL - -root@localhost db_datadict -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP TABLE t_40701; -DROP TABLE t_40702; -DROP DATABASE IF EXISTS db_datadict; - -Testcase 3.2.8.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC routines; -Field Type Null Key Default Extra -SPECIFIC_NAME varchar(64) NO -ROUTINE_CATALOG varchar(4096) YES NULL -ROUTINE_SCHEMA varchar(64) NO -ROUTINE_NAME varchar(64) NO -ROUTINE_TYPE varchar(9) NO -DTD_IDENTIFIER varchar(64) YES NULL -ROUTINE_BODY varchar(8) NO -ROUTINE_DEFINITION longtext YES NULL -EXTERNAL_NAME varchar(64) YES NULL -EXTERNAL_LANGUAGE varchar(64) YES NULL -PARAMETER_STYLE varchar(8) NO -IS_DETERMINISTIC varchar(3) NO -SQL_DATA_ACCESS varchar(64) NO -SQL_PATH varchar(64) YES NULL -SECURITY_TYPE varchar(7) NO -CREATED datetime NO 0000-00-00 00:00:00 -LAST_ALTERED datetime NO 0000-00-00 00:00:00 -SQL_MODE longtext NO NULL -ROUTINE_COMMENT varchar(64) NO -DEFINER varchar(77) NO -SHOW CREATE TABLE routines; -Table Create Table -ROUTINES CREATE TEMPORARY TABLE `ROUTINES` ( - `SPECIFIC_NAME` varchar(64) NOT NULL default '', - `ROUTINE_CATALOG` varchar(4096) default NULL, - `ROUTINE_SCHEMA` varchar(64) NOT NULL default '', - `ROUTINE_NAME` varchar(64) NOT NULL default '', - `ROUTINE_TYPE` varchar(9) NOT NULL default '', - `DTD_IDENTIFIER` varchar(64) default NULL, - `ROUTINE_BODY` varchar(8) NOT NULL default '', - `ROUTINE_DEFINITION` longtext, - `EXTERNAL_NAME` varchar(64) default NULL, - `EXTERNAL_LANGUAGE` varchar(64) default NULL, - `PARAMETER_STYLE` varchar(8) NOT NULL default '', - `IS_DETERMINISTIC` varchar(3) NOT NULL default '', - `SQL_DATA_ACCESS` varchar(64) NOT NULL default '', - `SQL_PATH` varchar(64) default NULL, - `SECURITY_TYPE` varchar(7) NOT NULL default '', - `CREATED` datetime NOT NULL default '0000-00-00 00:00:00', - `LAST_ALTERED` datetime NOT NULL default '0000-00-00 00:00:00', - `SQL_MODE` longtext NOT NULL, - `ROUTINE_COMMENT` varchar(64) NOT NULL default '', - `DEFINER` varchar(77) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'routines' -ORDER BY ordinal_position; -COUNT(*) -20 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'routines' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select - -Testcase 3.2.8.2 + 3.2.8.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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); -DROP PROCEDURE IF EXISTS sp_6_408002_1; -CREATE PROCEDURE sp_6_408002_1() -BEGIN -SELECT * FROM db_datadict.res_6_408002_1; -END// -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); -DROP PROCEDURE IF EXISTS sp_6_408002_2; -CREATE PROCEDURE sp_6_408002_2() -BEGIN -SELECT * FROM db_datadict_2.res_6_408002_2; -END// -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER - -root@localhost db_datadict_2 -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; - -Testcase 3.2.8.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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); -drop procedure if exists sp_6_408004; -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); - -Checking the max. possible length of (currently) 4 GByte is not possible in this environment here. --------------------------------------------------------------------------------------------------- -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// -call sp_6_408004 (); -@a -test row -@a -test row -@a -test row -@a -test row -@a -test row -@a -test row -select * from res_6_408004_2; -f1 f2 f3 f4 f5 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -SELECT *, LENGTH(routine_definition) -FROM information_schema.routines -WHERE routine_schema = 'db_datadict'; -SPECIFIC_NAME sp_6_408004 -ROUTINE_CATALOG NULL -ROUTINE_SCHEMA db_datadict -ROUTINE_NAME sp_6_408004 -ROUTINE_TYPE PROCEDURE -DTD_IDENTIFIER NULL -ROUTINE_BODY SQL -ROUTINE_DEFINITION 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 -EXTERNAL_NAME NULL -EXTERNAL_LANGUAGE NULL -PARAMETER_STYLE SQL -IS_DETERMINISTIC NO -SQL_DATA_ACCESS CONTAINS SQL -SQL_PATH NULL -SECURITY_TYPE DEFINER -CREATED YYYY-MM-DD hh:mm:ss -LAST_ALTERED YYYY-MM-DD hh:mm:ss -SQL_MODE -ROUTINE_COMMENT -DEFINER root@localhost -LENGTH(routine_definition) 2549 -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; - -Testcase 3.2.9.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC schemata; -Field Type Null Key Default Extra -CATALOG_NAME varchar(4096) YES NULL -SCHEMA_NAME varchar(64) NO -DEFAULT_CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATION_NAME varchar(64) NO -SQL_PATH varchar(4096) YES NULL -SHOW CREATE TABLE schemata; -Table Create Table -SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` ( - `CATALOG_NAME` varchar(4096) default NULL, - `SCHEMA_NAME` varchar(64) NOT NULL default '', - `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL default '', - `SQL_PATH` varchar(4096) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schemata' -ORDER BY ordinal_position; -COUNT(*) -5 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schemata' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select - -Testcase 3.2.9.2 + 3.2.9.3: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -CREATE USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict_1; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -3 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict_1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -3 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict_2 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -2 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL - -root@localhost information_schema -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; - -Testcase 3.2.10.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC table_constraints; -Field Type Null Key Default Extra -CONSTRAINT_CATALOG varchar(4096) YES NULL -CONSTRAINT_SCHEMA varchar(64) NO -CONSTRAINT_NAME varchar(64) NO -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -CONSTRAINT_TYPE varchar(64) NO -SHOW CREATE TABLE table_constraints; -Table Create Table -TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` ( - `CONSTRAINT_CATALOG` varchar(4096) default NULL, - `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', - `CONSTRAINT_NAME` varchar(64) NOT NULL default '', - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `CONSTRAINT_TYPE` varchar(64) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_constraints' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_constraints' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.10.2 + 3.2.10.3: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY -SELECT COUNT(*) FROM information_schema.table_constraints; -COUNT(*) -1 -connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY -SELECT COUNT(*) FROM information_schema.table_constraints; -COUNT(*) -1 -use db_datadict; - -root@localhost db_datadict -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; - -Testcase 3.2.11.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC table_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE table_privileges; -Table Create Table -TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_privileges' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict tb1 SELECT NO -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict tb1 SELECT YES -'user_2'@'localhost' NULL db_datadict tb1 INSERT YES -'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES -'user_2'@'localhost' NULL db_datadict tb1 DELETE YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE YES -'user_2'@'localhost' NULL db_datadict tb1 DROP YES -'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES -'user_2'@'localhost' NULL db_datadict tb1 INDEX YES -'user_2'@'localhost' NULL db_datadict tb1 ALTER YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES -'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES -SELECT USER(), COUNT(*) -FROM information_schema.table_privileges -WHERE grantee = USER(); -USER() COUNT(*) -user_2@localhost 0 -SELECT USER(), COUNT(*) -FROM information_schema.table_privileges -WHERE grantee = "'user_2'@'localhost'"; -USER() COUNT(*) -user_2@localhost 11 -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict tb3 SELECT NO - -root@localhost db_datadict -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict tb1 SELECT YES -'user_2'@'localhost' NULL db_datadict tb1 INSERT YES -'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES -'user_2'@'localhost' NULL db_datadict tb1 DELETE YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE YES -'user_2'@'localhost' NULL db_datadict tb1 DROP YES -'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES -'user_2'@'localhost' NULL db_datadict tb1 INDEX YES -'user_2'@'localhost' NULL db_datadict tb1 ALTER YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES -'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES -'user_1'@'localhost' NULL db_datadict tb1 SELECT NO -'user_3'@'localhost' NULL db_datadict tb3 SELECT NO - -root@localhost db_datadict -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; - -Testcase 3.2.12.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC tables; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -TABLE_TYPE varchar(64) NO -ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL -ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL -CREATE_TIME datetime YES NULL -UPDATE_TIME datetime YES NULL -CHECK_TIME datetime YES NULL -TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL -CREATE_OPTIONS varchar(255) YES NULL -TABLE_COMMENT varchar(80) NO -SHOW CREATE TABLE tables; -Table Create Table -TABLES CREATE TEMPORARY TABLE `TABLES` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `TABLE_TYPE` varchar(64) NOT NULL default '', - `ENGINE` varchar(64) default NULL, - `VERSION` bigint(21) default NULL, - `ROW_FORMAT` varchar(10) default NULL, - `TABLE_ROWS` bigint(21) default NULL, - `AVG_ROW_LENGTH` bigint(21) default NULL, - `DATA_LENGTH` bigint(21) default NULL, - `MAX_DATA_LENGTH` bigint(21) default NULL, - `INDEX_LENGTH` bigint(21) default NULL, - `DATA_FREE` bigint(21) default NULL, - `AUTO_INCREMENT` bigint(21) default NULL, - `CREATE_TIME` datetime default NULL, - `UPDATE_TIME` datetime default NULL, - `CHECK_TIME` datetime default NULL, - `TABLE_COLLATION` varchar(64) default NULL, - `CHECKSUM` bigint(21) default NULL, - `CREATE_OPTIONS` varchar(255) default NULL, - `TABLE_COMMENT` varchar(80) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'tables' -ORDER BY ordinal_position; -COUNT(*) -21 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'tables' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select - -Testcase 3.2.12.2 + 3.2.12.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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'; -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE 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 latin1_swedish_ci NULL -NULL db_datadict tb2 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB - -root@localhost db_datadict -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema') AND NOT (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 db_datadict tb1 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 latin1_swedish_ci NULL -NULL db_datadict tb2 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL mysql columns_priv 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_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #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_bin NULL Database privileges -NULL mysql func 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_bin NULL User defined functions -NULL mysql host 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_bin NULL Host privileges; Merged with database privileges -NULL mysql proc 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 Stored Procedures -NULL mysql procs_priv 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_bin NULL Procedure privileges -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #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_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #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 Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #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 Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #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 Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #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 Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #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_bin NULL Users and global privileges -NULL test t1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t10 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t11 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t7 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t8 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test t9 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb1 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb3 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test tb4 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test1 tb2 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -NULL test4 t6 BASE TABLE InnoDB 10 Compact 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL InnoDB free: 3072 kB -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; - -Testcase 3.2.13.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC views; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -VIEW_DEFINITION longtext NO NULL -CHECK_OPTION varchar(8) NO -IS_UPDATABLE varchar(3) NO -DEFINER varchar(77) NO -SECURITY_TYPE varchar(7) NO -SHOW CREATE TABLE views; -Table Create Table -VIEWS CREATE TEMPORARY TABLE `VIEWS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `VIEW_DEFINITION` longtext NOT NULL, - `CHECK_OPTION` varchar(8) NOT NULL default '', - `IS_UPDATABLE` varchar(3) NOT NULL default '', - `DEFINER` varchar(77) NOT NULL default '', - `SECURITY_TYPE` varchar(7) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'views' -ORDER BY ordinal_position; -COUNT(*) -8 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'views' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select - -Testcase 3.2.13.2 + 3.2.13.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER -NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER -connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER -connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER -NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER -connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE - -root@localhost db_datadict -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; - -Testcase 3.2.14.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC statistics; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -NON_UNIQUE bigint(1) NO 0 -INDEX_SCHEMA varchar(64) NO -INDEX_NAME varchar(64) NO -SEQ_IN_INDEX bigint(2) NO 0 -COLUMN_NAME varchar(64) NO -COLLATION varchar(1) YES NULL -CARDINALITY bigint(21) YES NULL -SUB_PART bigint(3) YES NULL -PACKED varchar(10) YES NULL -NULLABLE varchar(3) NO -INDEX_TYPE varchar(16) NO -COMMENT varchar(16) YES NULL -SHOW CREATE TABLE statistics; -Table Create Table -STATISTICS CREATE TEMPORARY TABLE `STATISTICS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `NON_UNIQUE` bigint(1) NOT NULL default '0', - `INDEX_SCHEMA` varchar(64) NOT NULL default '', - `INDEX_NAME` varchar(64) NOT NULL default '', - `SEQ_IN_INDEX` bigint(2) NOT NULL default '0', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `COLLATION` varchar(1) default NULL, - `CARDINALITY` bigint(21) default NULL, - `SUB_PART` bigint(3) default NULL, - `PACKED` varchar(10) default NULL, - `NULLABLE` varchar(3) NOT NULL default '', - `INDEX_TYPE` varchar(16) NOT NULL default '', - `COMMENT` varchar(16) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'statistics' -ORDER BY ordinal_position; -COUNT(*) -15 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'statistics' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select - -Testcase 3.2.14.2 + 3.2.14.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.statistics; -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.statistics; -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 - -root@localhost db_datadict_2 -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_%'); -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE -NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE -NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE -NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE -NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE - -user_1@localhost test -SELECT * FROM information_schema.statistics; -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE - -user_2@localhost test -SELECT * FROM information_schema.statistics; -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 - -root@localhost db_datadict_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; - -Testcase 3.2.15.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC schema_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE schema_privileges; -Table Create Table -SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schema_privileges' -ORDER BY ordinal_position; -COUNT(*) -5 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schema_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.15.2: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401502'@'localhost' NULL db_datadict INSERT NO -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401502'@'localhost' NULL db_datadict INSERT NO -use db_datadict; - -root@localhost db_datadict -DROP USER 'u_6_401502'@'localhost'; -drop table res_6_401502; -use test; -drop database db_datadict; -drop database db_datadict_2; - -Testcase 3.2.15.3 + 3.2.15.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO -'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO -connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO -connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE - -root@localhost db_datadict_2 -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; - -Testcase 3.2.16.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC user_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE user_privileges; -Table Create Table -USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'user_privileges' -ORDER BY ordinal_position; -COUNT(*) -4 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'user_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; - -FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1 ----------------------------------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -add GRANT OPTION db_datadict.* to user_1 ----------------------------------------- -GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION; - -FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1 -------------------------------------------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -FLUSH PRIVILEGES; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' - -Now add SELECT on *.* to user_1 -------------------------------- - -root@localhost information_schema -GRANT SELECT ON *.* TO 'user_1'@'localhost'; - -Here <SELECT NO> is shown correctly for user_1 ----------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION; - -Here <SELECT YES> is shown correctly for user_1 ------------------------------------------------ -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -FLUSH PRIVILEGES; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_2@localhost -GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost' -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_3@localhost -GRANT USAGE ON *.* TO 'user_3'@'localhost' - -revoke privileges from user_1 ------------------------------ - -root@localhost information_schema -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost'; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' - -user_1@localhost db_datadict -CREATE TABLE db_datadict.tb_55 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55' - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_66 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66' - -add ALL on db_datadict.* (and select on mysql.user) to user_1 -------------------------------------------------------------- - -root@localhost information_schema -GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION; -GRANT SELECT ON mysql.user TO 'user_1'@'localhost'; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_56 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56' -USE db_datadict; - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -CREATE TABLE tb_57 ( c1 TEXT ); - -revoke privileges from user_1 ------------------------------ - -root@localhost information_schema -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost'; -FLUSH PRIVILEGES; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_58 ( c1 TEXT ); -USE db_datadict; -ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict' -CREATE TABLE db_datadict.tb_59 ( c1 TEXT ); - -root@localhost information_schema -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; - -Testcase 3.2.17: Checks on Performance - not here in this script! --------------------------------------------------------------------------------- - -Testcase 3.2.18.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC triggers; -Field Type Null Key Default Extra -TRIGGER_CATALOG varchar(4096) YES NULL -TRIGGER_SCHEMA varchar(64) NO -TRIGGER_NAME varchar(64) NO -EVENT_MANIPULATION varchar(6) NO -EVENT_OBJECT_CATALOG varchar(4096) YES NULL -EVENT_OBJECT_SCHEMA varchar(64) NO -EVENT_OBJECT_TABLE varchar(64) NO -ACTION_ORDER bigint(4) NO 0 -ACTION_CONDITION longtext YES NULL -ACTION_STATEMENT longtext NO NULL -ACTION_ORIENTATION varchar(9) NO -ACTION_TIMING varchar(6) NO -ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL -ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL -ACTION_REFERENCE_OLD_ROW varchar(3) NO -ACTION_REFERENCE_NEW_ROW varchar(3) NO -CREATED datetime YES NULL -SQL_MODE longtext NO NULL -DEFINER longtext NO NULL -SHOW CREATE TABLE triggers; -Table Create Table -TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` ( - `TRIGGER_CATALOG` varchar(4096) default NULL, - `TRIGGER_SCHEMA` varchar(64) NOT NULL default '', - `TRIGGER_NAME` varchar(64) NOT NULL default '', - `EVENT_MANIPULATION` varchar(6) NOT NULL default '', - `EVENT_OBJECT_CATALOG` varchar(4096) default NULL, - `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL default '', - `EVENT_OBJECT_TABLE` varchar(64) NOT NULL default '', - `ACTION_ORDER` bigint(4) NOT NULL default '0', - `ACTION_CONDITION` longtext, - `ACTION_STATEMENT` longtext NOT NULL, - `ACTION_ORIENTATION` varchar(9) NOT NULL default '', - `ACTION_TIMING` varchar(6) NOT NULL default '', - `ACTION_REFERENCE_OLD_TABLE` varchar(64) default NULL, - `ACTION_REFERENCE_NEW_TABLE` varchar(64) default NULL, - `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL default '', - `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL default '', - `CREATED` datetime default NULL, - `SQL_MODE` longtext NOT NULL, - `DEFINER` longtext NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'triggers' -ORDER BY ordinal_position; -COUNT(*) -19 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'triggers' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select - -Testcase 3.2.18.2 + 3.2.18.3: --------------------------------------------------------------------------------- - -Testcase 3.2.19.1: --------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ -DESC parameters; -ERROR 42S02: Unknown table 'parameters' in information_schema - -Testcase 3.2.20.1: --------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ -DESC referential_constraints; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema - -*** End of Data Dictionary Tests *** --------------------------------------------------------------------------------- -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; diff --git a/mysql-test/suite/funcs_1/r/innodb__load.result b/mysql-test/suite/funcs_1/r/innodb__load.result deleted file mode 100644 index c1b9c89b257..00000000000 --- a/mysql-test/suite/funcs_1/r/innodb__load.result +++ /dev/null @@ -1 +0,0 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); diff --git a/mysql-test/suite/funcs_1/r/innodb_bitdata.result b/mysql-test/suite/funcs_1/r/innodb_bitdata.result index 57f7b017e69..917157fcdae 100644 --- a/mysql-test/suite/funcs_1/r/innodb_bitdata.result +++ b/mysql-test/suite/funcs_1/r/innodb_bitdata.result @@ -1,67 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); -USE test; -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 ; NOT YET IMPLEMENTED: bitdata tests -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_cursors.result b/mysql-test/suite/funcs_1/r/innodb_cursors.result index bcb692c30d7..9f20e51204b 100644 --- a/mysql-test/suite/funcs_1/r/innodb_cursors.result +++ b/mysql-test/suite/funcs_1/r/innodb_cursors.result @@ -1,81 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); -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 ; NOT YET IMPLEMENTED: cursor tests -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result index 5560fb1fd73..9081c6da3f7 100755 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result index fe400ceeb6d..faf598b090b 100755 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result index ce3a882000b..639e8cdb48b 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result index cbe20882ec2..d0b9d8ae806 100755 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result index 91a3a954f57..68e32626425 100755 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result index ec2b4850d30..f2c47342019 100755 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result index 56f20781995..9c2c2a38a4d 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -362,3 +361,4 @@ select @test_var1, @test_var2, @test_var3; trig1_b trig1_a trig2 drop database trig_db1; drop database trig_db2; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_03.result b/mysql-test/suite/funcs_1/r/innodb_trig_03.result index 18300c6fc6b..4e6b4523f1d 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_03.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_03.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -749,3 +748,4 @@ drop database if exists priv_db; drop user test_yesprivs@localhost; drop user test_noprivs@localhost; drop user test_noprivs; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result index ce7c51ec630..e7f2b374845 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -478,3 +477,4 @@ Testcase 3.5.7.17 (see Testcase 3.5.1.1) drop user test_general@localhost; drop user test_general; drop user test_super@localhost; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result index bb087d5882e..a13116df9b4 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -497,3 +496,4 @@ Testcase 3.5.8.7: (Disabled as a result of bug _____) drop user test_general@localhost; drop user test_general; drop user test_super@localhost; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_09.result b/mysql-test/suite/funcs_1/r/innodb_trig_09.result index 685de95db51..34a430ba052 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_09.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_09.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -269,3 +268,4 @@ drop trigger trg6c; Testcase 3.5.9.14: (implied in previous tests) ---------------------------------------------- +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result b/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result index 182747e3153..8976787420d 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -397,3 +396,4 @@ drop table t1; drop table t2; drop table t3; drop table t4; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result b/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result index 56dd5d6740e..debbec1dde3 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_frkey.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -138,3 +137,4 @@ drop table t2, t1, t0; Foreign Key tests disabled (bug 11472 - stored in trig_frkey2.test) ------------------------------------------------------------------- +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result index 7f94f266102..f091e49c96b 100644 --- a/mysql-test/suite/funcs_1/r/innodb_views.result +++ b/mysql-test/suite/funcs_1/r/innodb_views.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb2 ; create table tb2 ( @@ -11452,4 +11451,5 @@ DROP VIEW IF EXISTS v1_secondview; DROP VIEW IF EXISTS v2; DROP DATABASE IF EXISTS test2; DROP DATABASE IF EXISTS test3; -DROP DATABASE IF EXISTS test1; +DROP DATABASE test1; +DROP TABLE test.tb2; diff --git a/mysql-test/suite/funcs_1/r/is_basics_mixed.result b/mysql-test/suite/funcs_1/r/is_basics_mixed.result new file mode 100644 index 00000000000..d20e5750403 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_basics_mixed.result @@ -0,0 +1,602 @@ +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +####################################################################### +# Testcase 3.2.1.20: USE INFORMATION_SCHEMA is supported +####################################################################### +# Switch to connection default +USE test; +SELECT DATABASE(); +DATABASE() +test +USE information_schema; +SELECT DATABASE(); +DATABASE() +information_schema +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +# Establish connection testuser1 (user=testuser1) +SELECT DATABASE(); +DATABASE() +test +USE information_schema; +SELECT DATABASE(); +DATABASE() +information_schema +# Switch to connection default and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +####################################################################### +# Testcase TBD1: The INFORMATION_SCHEMA cannot be dropped. +####################################################################### +DROP DATABASE information_schema; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +####################################################################### +# Testcase TBD2: There cannot be a second database INFORMATION_SCHEMA. +####################################################################### +CREATE DATABASE information_schema; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +################################################################################## +# Testcase 3.2.1.6+3.2.1.7: No user may create an INFORMATION_SCHEMA table or view +################################################################################## +# Switch to connection default (user=root) +USE information_schema; +CREATE TABLE schemata ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE tables ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE columns ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE character_sets ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE collations ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE collation_character_set_applicability ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE routines ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE statistics ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE views ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE user_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE schema_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE table_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE column_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE table_constraints ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE key_column_usage ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE triggers ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE t1 (f1 INT, f2 INT, f3 INT); +ERROR 42S02: Unknown table 't1' in information_schema +CREATE VIEW tables AS SELECT 'garbage'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE VIEW tables AS SELECT * FROM information_schema.tables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE VIEW v1 AS SELECT 'garbage'; +ERROR 42S02: Unknown table 'v1' in information_schema +USE test; +CREATE TABLE information_schema. schemata ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. tables ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. columns ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. character_sets ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. collations ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. routines ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. statistics ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. views ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. user_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. schema_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. table_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. column_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. table_constraints ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. key_column_usage ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. triggers ( c1 INT ); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT); +ERROR 42S02: Unknown table 't1' in information_schema +CREATE VIEW information_schema.tables AS SELECT 'garbage'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE VIEW information_schema.tables AS +SELECT * FROM information_schema.tables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE VIEW information_schema.v1 AS SELECT 'garbage'; +ERROR 42S02: Unknown table 'v1' in information_schema +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT ALL ON *.* TO testuser1@localhost; +SHOW GRANTS FOR testuser1@localhost; +Grants for testuser1@localhost +GRANT ALL PRIVILEGES ON *.* TO 'testuser1'@'localhost' +# Establish connection testuser1 (user=testuser1) +USE information_schema; +CREATE TABLE schemata ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE tables ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE columns ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE character_sets ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE collations ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE collation_character_set_applicability ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE routines ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE statistics ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE views ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE user_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE schema_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE table_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE column_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE table_constraints ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE key_column_usage ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE triggers ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE t1 (f1 INT, f2 INT, f3 INT); +ERROR 42S02: Unknown table 't1' in information_schema +CREATE VIEW tables AS SELECT 'garbage'; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE VIEW tables AS SELECT * FROM information_schema.tables; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE VIEW v1 AS SELECT 'garbage'; +ERROR 42S02: Unknown table 'v1' in information_schema +USE test; +CREATE TABLE information_schema. schemata ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. tables ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. columns ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. character_sets ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. collations ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. routines ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. statistics ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. views ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. user_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. schema_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. table_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. column_privileges ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. table_constraints ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. key_column_usage ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema. triggers ( c1 INT ); +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT); +ERROR 42S02: Unknown table 't1' in information_schema +CREATE VIEW information_schema.tables AS SELECT 'garbage'; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE VIEW information_schema.tables AS +SELECT * FROM information_schema.tables; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'information_schema' +CREATE VIEW information_schema.v1 AS SELECT 'garbage'; +ERROR 42S02: Unknown table 'v1' in information_schema +# Switch to connection default (user=root) and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +############################################################################### +# Testcase 3.2.1.1+3.2.1.2: INFORMATION_SCHEMA tables can be queried via SELECT +############################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1_first (f1 BIGINT UNIQUE, f2 BIGINT) +ENGINE = <some_engine>; +CREATE TABLE db_datadict.t1_second (f1 BIGINT UNIQUE, f2 BIGINT) +ENGINE = <some_engine>; +# Attention: The protocolling of the next result set is disabled. +SELECT * FROM information_schema.tables; +SELECT table_name FROM information_schema.tables +WHERE table_schema = 'db_datadict'; +table_name +t1_first +t1_second +SELECT LENGTH(table_name) FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +LENGTH(table_name) +8 +9 +SELECT count(table_name) FROM information_schema.tables +WHERE table_schema LIKE 'db_datadic%'; +count(table_name) +2 +SELECT CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1)) +FROM information_schema.tables +WHERE table_schema = 'db_datadict'; +CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1)) +19.0 +20.0 +SELECT table_name FROM information_schema.tables +WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1; +table_name +t1_first +SELECT table_name FROM information_schema.tables +WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1,1; +table_name +t1_second +SELECT table_name,table_schema AS my_col FROM information_schema.tables +WHERE table_name = 't1_first' AND table_schema = 'db_datadict'; +table_name my_col +t1_first db_datadict +SELECT HIGH_PRIORITY table_name AS my_col FROM information_schema.tables +WHERE table_name = 't1_first' OR table_name = 't1_second'; +my_col +t1_first +t1_second +SELECT 1 AS my_col FROM information_schema.tables +WHERE table_name = 't1_third'; +my_col +SELECT table_name,table_schema INTO @table_name,@table_schema +FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name LIMIT 1; +SELECT @table_name,@table_schema; +@table_name @table_schema +t1_first db_datadict +SELECT table_name,table_schema +INTO OUTFILE '<OUTFILE>' +FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' +LINES TERMINATED BY '\n' +FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +"t1_first","db_datadict" +"t1_second","db_datadict" +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_first' +UNION ALL +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_second'; +table_name +t1_first +t1_second +SELECT DISTINCT table_schema FROM information_schema.tables +WHERE table_name IN (SELECT table_name FROM information_schema.tables +WHERE table_schema = 'db_datadict') +ORDER BY table_name; +table_schema +db_datadict +SELECT table_name FROM information_schema.tables t1 +LEFT JOIN information_schema.tables t2 USING(table_name,table_schema) +WHERE t2.table_schema = 'db_datadict' +ORDER BY table_name; +table_name +t1_first +t1_second +USE test; +SELECT * FROM tables; +ERROR 42S02: Table 'test.tables' doesn't exist +######################################################################### +# Testcase 3.2.1.17+3.2.1.18 +######################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT UNIQUE, f2 BIGINT) +ENGINE = <some_engine>; +SELECT * FROM db_datadict.t1; +f1 f2 +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +GRANT CREATE VIEW,SELECT ON db_datadict.* TO testuser1@localhost +WITH GRANT OPTION; +GRANT USAGE ON db_datadict.* TO testuser2@localhost; +FLUSH PRIVILEGES; +GRANT SELECT on information_schema.* TO testuser1@localhost; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +# Establish connection testuser1 (user=testuser1) +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_schema = 'information_schema' AND table_name = 'tables'; +table_schema table_name +information_schema TABLES +SELECT * FROM information_schema.table_privileges +WHERE table_schema = 'information_schema'; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'information_schema'; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +CREATE VIEW db_datadict.v2 AS +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM information_schema.tables WHERE table_schema = 'db_datadict'; +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM db_datadict.v2; +TABLE_SCHEMA TABLE_NAME TABLE_TYPE +db_datadict t1 BASE TABLE +db_datadict v2 VIEW +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM information_schema.tables WHERE table_schema = 'db_datadict'; +TABLE_SCHEMA TABLE_NAME TABLE_TYPE +db_datadict t1 BASE TABLE +db_datadict v2 VIEW +GRANT SELECT ON db_datadict.v2 to testuser2@localhost; +# Establish connection testuser2 (user=testuser2) +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM db_datadict.v2; +TABLE_SCHEMA TABLE_NAME TABLE_TYPE +db_datadict v2 VIEW +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM information_schema.tables WHERE table_schema = 'db_datadict'; +TABLE_SCHEMA TABLE_NAME TABLE_TYPE +db_datadict v2 VIEW +# Switch to connection default and close connections testuser1 and testuser2 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE db_datadict; +######################################################################### +# Testcase 3.2.1.19 +######################################################################### +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +SELECT 'empty result set was expected' AS my_col +FROM information_schema.schema_privileges +WHERE table_schema = 'information_schema'; +my_col +SELECT 'empty result set was expected' AS my_col +FROM information_schema.table_privileges +WHERE table_schema = 'information_schema'; +my_col +SELECT 'empty result set was expected' AS my_col +FROM information_schema.column_privileges +WHERE table_schema = 'information_schema'; +my_col +GRANT ALTER ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT ALTER ROUTINE ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT CREATE ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT CREATE ROUTINE ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT CREATE TEMPORARY TABLES ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT DELETE ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT DROP ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT EXECUTE ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT INDEX ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT INSERT ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT LOCK TABLES ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +GRANT UPDATE ON information_schema.* +TO 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +SELECT 'empty result set was expected' AS my_col +FROM information_schema.schema_privileges +WHERE table_schema = 'information_schema'; +my_col +SELECT 'empty result set was expected' AS my_col +FROM information_schema.table_privileges +WHERE table_schema = 'information_schema'; +my_col +SELECT 'empty result set was expected' AS my_col +FROM information_schema.column_privileges +WHERE table_schema = 'information_schema'; +my_col +DROP USER 'testuser1'@'localhost'; +######################################################################### +# Testcase 3.2.1.16 +######################################################################### +SELECT DISTINCT table_schema FROM information_schema.columns +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT table_schema FROM information_schema.column_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT constraint_schema,table_schema +FROM information_schema.key_column_usage +WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%'; +constraint_schema table_schema +SELECT DISTINCT routine_schema FROM information_schema.routines +WHERE routine_schema LIKE 'db_data%'; +routine_schema +SELECT DISTINCT schema_name FROM information_schema.schemata +WHERE schema_name LIKE 'db_data%'; +schema_name +SELECT DISTINCT table_schema FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics +WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%'; +table_schema index_schema +SELECT DISTINCT table_schema FROM information_schema.tables +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT constraint_schema,table_schema +FROM information_schema.table_constraints +WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%'; +constraint_schema table_schema +SELECT DISTINCT table_schema FROM information_schema.table_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT trigger_schema,event_object_schema +FROM information_schema.triggers +WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%'; +trigger_schema event_object_schema +SELECT DISTINCT table_schema FROM information_schema.views +WHERE table_schema LIKE 'db_data%'; +table_schema +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT NOT NULL, f3 BIGINT, +PRIMARY KEY(f1)) +ENGINE = <some_engine>; +CREATE UNIQUE INDEX UIDX ON db_datadict.t1(f3); +CREATE PROCEDURE db_datadict.sproc1() SELECT 'db_datadict'; +CREATE FUNCTION db_datadict.func1() RETURNS INT RETURN 0; +CREATE TRIGGER db_datadict.trig1 BEFORE INSERT ON db_datadict.t1 +FOR EACH ROW SET @aux = 1; +CREATE VIEW db_datadict.v1 AS SELECT * FROM db_datadict.t1; +CREATE VIEW db_datadict.v2 AS SELECT * FROM information_schema.tables; +SELECT DISTINCT table_schema FROM information_schema.columns +WHERE table_schema LIKE 'db_data%'; +table_schema +db_datadict +SELECT DISTINCT table_schema FROM information_schema.column_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT constraint_schema,table_schema +FROM information_schema.key_column_usage +WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%'; +constraint_schema table_schema +db_datadict db_datadict +SELECT DISTINCT routine_schema FROM information_schema.routines +WHERE routine_schema LIKE 'db_data%'; +routine_schema +db_datadict +SELECT DISTINCT schema_name FROM information_schema.schemata +WHERE schema_name LIKE 'db_data%'; +schema_name +db_datadict +SELECT DISTINCT table_schema FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics +WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%'; +table_schema index_schema +db_datadict db_datadict +SELECT DISTINCT table_schema FROM information_schema.tables +WHERE table_schema LIKE 'db_data%'; +table_schema +db_datadict +SELECT DISTINCT constraint_schema,table_schema +FROM information_schema.table_constraints +WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%'; +constraint_schema table_schema +db_datadict db_datadict +SELECT DISTINCT table_schema FROM information_schema.table_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT trigger_schema,event_object_schema +FROM information_schema.triggers +WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%'; +trigger_schema event_object_schema +db_datadict db_datadict +SELECT DISTINCT table_schema FROM information_schema.views +WHERE table_schema LIKE 'db_data%'; +table_schema +db_datadict +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT ALL ON test.* TO 'testuser1'@'localhost'; +# Establish connection testuser1 (user=testuser1) +SELECT DISTINCT table_schema FROM information_schema.columns +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT table_schema FROM information_schema.column_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT constraint_schema,table_schema +FROM information_schema.key_column_usage +WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%'; +constraint_schema table_schema +SELECT DISTINCT routine_schema FROM information_schema.routines +WHERE routine_schema LIKE 'db_data%'; +routine_schema +SELECT DISTINCT schema_name FROM information_schema.schemata +WHERE schema_name LIKE 'db_data%'; +schema_name +SELECT DISTINCT table_schema FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics +WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%'; +table_schema index_schema +SELECT DISTINCT table_schema FROM information_schema.tables +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT constraint_schema,table_schema +FROM information_schema.table_constraints +WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%'; +constraint_schema table_schema +SELECT DISTINCT table_schema FROM information_schema.table_privileges +WHERE table_schema LIKE 'db_data%'; +table_schema +SELECT DISTINCT trigger_schema,event_object_schema +FROM information_schema.triggers +WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%'; +trigger_schema event_object_schema +SELECT DISTINCT table_schema FROM information_schema.views +WHERE table_schema LIKE 'db_data%'; +table_schema +# Switch to connection default and close connections testuser1 and testuser2 +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP PROCEDURE IF EXISTS test.p1; +CREATE PROCEDURE test.p1() +INSERT INTO information_schema.tables +SELECT * FROM information_schema.tables LIMIT 1; +CALL test.p1(); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP PROCEDURE test.p1; +CREATE PROCEDURE test.p1() +UPDATE information_schema.columns SET table_schema = 'garbage'; +CALL test.p1(); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP PROCEDURE test.p1; +CREATE PROCEDURE test.p1() +DELETE FROM information_schema.schemata; +CALL test.p1(); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP PROCEDURE test.p1; +######################################################################### +# Testcase 3.2.17.1+3.2.17.2: To be implemented outside of this script +######################################################################### diff --git a/mysql-test/suite/funcs_1/r/is_character_sets.result b/mysql-test/suite/funcs_1/r/is_character_sets.result new file mode 100644 index 00000000000..b6fee4444b9 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_character_sets.result @@ -0,0 +1,78 @@ +SHOW TABLES FROM information_schema LIKE 'CHARACTER_SETS'; +Tables_in_information_schema (CHARACTER_SETS) +CHARACTER_SETS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.CHARACTER_SETS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.CHARACTER_SETS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.CHARACTER_SETS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.CHARACTER_SETS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.2.1: INFORMATION_SCHEMA.CHARACTER_SETS layout +######################################################################### +DESCRIBE information_schema.CHARACTER_SETS; +Field Type Null Key Default Extra +CHARACTER_SET_NAME varchar(64) NO +DEFAULT_COLLATE_NAME varchar(64) NO +DESCRIPTION varchar(60) NO +MAXLEN bigint(3) NO 0 +SHOW CREATE TABLE information_schema.CHARACTER_SETS; +Table Create Table +CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( + `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', + `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL default '', + `DESCRIPTION` varchar(60) NOT NULL default '', + `MAXLEN` bigint(3) NOT NULL default '0' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.CHARACTER_SETS; +Field Type Null Key Default Extra +CHARACTER_SET_NAME varchar(64) NO +DEFAULT_COLLATE_NAME varchar(64) NO +DESCRIPTION varchar(60) NO +MAXLEN bigint(3) NO 0 +# Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +INSERT INTO information_schema.character_sets +SELECT * FROM information_schema.character_sets; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.character_sets SET description = 'just updated'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.character_sets WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.character_sets; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx ON information_schema.character_sets(character_set_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.character_sets DROP PRIMARY KEY; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.character_sets ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.character_sets; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.character_sets RENAME db_datadict.character_sets; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.character_sets +RENAME information_schema.xcharacter_sets; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result b/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result new file mode 100644 index 00000000000..b85ba039478 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result @@ -0,0 +1,76 @@ +SHOW TABLES FROM information_schema LIKE 'COLLATION_CHARACTER_SET_APPLICABILITY'; +Tables_in_information_schema (COLLATION_CHARACTER_SET_APPLICABILITY) +COLLATION_CHARACTER_SET_APPLICABILITY +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.4.1: INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY layout +######################################################################### +DESCRIBE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +Field Type Null Key Default Extra +COLLATION_NAME varchar(64) NO +CHARACTER_SET_NAME varchar(64) NO +SHOW CREATE TABLE information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +Table Create Table +COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` ( + `COLLATION_NAME` varchar(64) NOT NULL default '', + `CHARACTER_SET_NAME` varchar(64) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.COLLATION_CHARACTER_SET_APPLICABILITY; +Field Type Null Key Default Extra +COLLATION_NAME varchar(64) NO +CHARACTER_SET_NAME varchar(64) NO +# Testcases 3.2.4.2 and 3.2.4.3 are checked in suite/funcs_1/t/charset_collation*.test +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +INSERT INTO information_schema.collation_character_set_applicability +SELECT * FROM information_schema.collation_character_set_applicability; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.collation_character_set_applicability +SET collation_name = 'big6_chinese_ci' WHERE character_set_name = 'big6'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.collation_character_set_applicability +SET character_set_name = 't_4711'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.collation_character_set_applicability; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.collation_character_set_applicability; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx +ON information_schema.collation_character_set_applicability(collation_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collation_character_set_applicability ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.collation_character_set_applicability; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collation_character_set_applicability +RENAME db_datadict.collation_character_set_applicability; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collation_character_set_applicability +RENAME information_schema.xcollation_character_set_applicability; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_collations.result b/mysql-test/suite/funcs_1/r/is_collations.result new file mode 100644 index 00000000000..64e9c41eaa8 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_collations.result @@ -0,0 +1,90 @@ +SHOW TABLES FROM information_schema LIKE 'COLLATIONS'; +Tables_in_information_schema (COLLATIONS) +COLLATIONS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLLATIONS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLLATIONS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.COLLATIONS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.COLLATIONS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.3.1: INFORMATION_SCHEMA.COLLATIONS layout +######################################################################### +DESCRIBE information_schema.COLLATIONS; +Field Type Null Key Default Extra +COLLATION_NAME varchar(64) NO +CHARACTER_SET_NAME varchar(64) NO +ID bigint(11) NO 0 +IS_DEFAULT varchar(3) NO +IS_COMPILED varchar(3) NO +SORTLEN bigint(3) NO 0 +SHOW CREATE TABLE information_schema.COLLATIONS; +Table Create Table +COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` ( + `COLLATION_NAME` varchar(64) NOT NULL default '', + `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', + `ID` bigint(11) NOT NULL default '0', + `IS_DEFAULT` varchar(3) NOT NULL default '', + `IS_COMPILED` varchar(3) NOT NULL default '', + `SORTLEN` bigint(3) NOT NULL default '0' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.COLLATIONS; +Field Type Null Key Default Extra +COLLATION_NAME varchar(64) NO +CHARACTER_SET_NAME varchar(64) NO +ID bigint(11) NO 0 +IS_DEFAULT varchar(3) NO +IS_COMPILED varchar(3) NO +SORTLEN bigint(3) NO 0 +# Testcases 3.2.3.2 and 3.2.3.3 are checked in suite/funcs_1/t/charset_collation*.test +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +INSERT INTO information_schema.collations +SELECT * FROM information_schema.collations; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +INSERT INTO information_schema.collations +(collation_name,character_set_name,id,is_default,is_compiled,sortlen) +VALUES ( 'cp1251_bin', 'cp1251',50, '', '',0); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.collations SET description = 'just updated'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.collations WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.collations; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx ON information_schema.collations(character_set_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collations DROP PRIMARY KEY; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collations ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collations ENABLE KEYS; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.collations; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collations RENAME db_datadict.collations; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.collations +RENAME information_schema.xcollations; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_column_privileges.result b/mysql-test/suite/funcs_1/r/is_column_privileges.result new file mode 100644 index 00000000000..56ddbaf02c7 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_column_privileges.result @@ -0,0 +1,370 @@ +SHOW TABLES FROM information_schema LIKE 'COLUMN_PRIVILEGES'; +Tables_in_information_schema (COLUMN_PRIVILEGES) +COLUMN_PRIVILEGES +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLUMN_PRIVILEGES; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLUMN_PRIVILEGES; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.COLUMN_PRIVILEGES; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.COLUMN_PRIVILEGES; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.5.1: INFORMATION_SCHEMA.COLUMN_PRIVILEGES layout +######################################################################### +DESCRIBE information_schema.COLUMN_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +COLUMN_NAME varchar(64) NO +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SHOW CREATE TABLE information_schema.COLUMN_PRIVILEGES; +Table Create Table +COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` ( + `GRANTEE` varchar(81) NOT NULL default '', + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `COLUMN_NAME` varchar(64) NOT NULL default '', + `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', + `IS_GRANTABLE` varchar(3) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.COLUMN_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +COLUMN_NAME varchar(64) NO +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SELECT table_catalog, table_schema, table_name, column_name, privilege_type +FROM information_schema.column_privileges WHERE table_catalog IS NOT NULL; +table_catalog table_schema table_name column_name privilege_type +###################################################################### +# Testcase 3.2.5.2+3.2.5.3+3.2.5.4: +# INFORMATION_SCHEMA.COLUMN_PRIVILEGES accessible information +###################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 INT, f2 DECIMAL, f3 TEXT) +ENGINE = <other_engine_type>; +USE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT INSERT(f1) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT UPDATE(f2) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT(f2) ON db_datadict.t1 TO 'testuser2'@'localhost'; +GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'; +GRANT SELECT(f3) ON db_datadict.t1 TO 'testuser3'@'localhost'; +GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost' +WITH GRANT OPTION; +GRANT ALL ON db_datadict.* TO 'testuser3'@'localhost'; +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict t1 f1 INSERT NO +'testuser1'@'localhost' NULL db_datadict t1 f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict t1 f2 UPDATE NO +'testuser1'@'localhost' NULL db_datadict t1 f3 SELECT NO +'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO +'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES +GRANT UPDATE(f3) ON db_datadict.t1 TO 'testuser1'@'localhost' +WITH GRANT OPTION; +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict t1 f1 INSERT YES +'testuser1'@'localhost' NULL db_datadict t1 f1 SELECT YES +'testuser1'@'localhost' NULL db_datadict t1 f2 UPDATE YES +'testuser1'@'localhost' NULL db_datadict t1 f3 SELECT YES +'testuser1'@'localhost' NULL db_datadict t1 f3 UPDATE YES +'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO +'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict t1 f1 INSERT YES +'testuser1'@'localhost' NULL db_datadict t1 f1 SELECT YES +'testuser1'@'localhost' NULL db_datadict t1 f2 UPDATE YES +'testuser1'@'localhost' NULL db_datadict t1 f3 SELECT YES +'testuser1'@'localhost' NULL db_datadict t1 f3 UPDATE YES +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO +# Establish connection testuser3 (user=testuser3) +# FIXME: Is it correct that granted TABLES do not occur in COLUMN_PRIVILEGES? +SELECT * FROM information_schema.table_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee,table_schema,table_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser3'@'localhost' NULL db_datadict t1 INSERT YES +'testuser3'@'localhost' NULL db_datadict t1 SELECT YES +SELECT * FROM information_schema.schema_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser3'@'localhost' NULL db_datadict ALTER NO +'testuser3'@'localhost' NULL db_datadict ALTER ROUTINE NO +'testuser3'@'localhost' NULL db_datadict CREATE NO +'testuser3'@'localhost' NULL db_datadict CREATE ROUTINE NO +'testuser3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO +'testuser3'@'localhost' NULL db_datadict CREATE VIEW NO +'testuser3'@'localhost' NULL db_datadict DELETE NO +'testuser3'@'localhost' NULL db_datadict DROP NO +'testuser3'@'localhost' NULL db_datadict EXECUTE NO +'testuser3'@'localhost' NULL db_datadict INDEX NO +'testuser3'@'localhost' NULL db_datadict INSERT NO +'testuser3'@'localhost' NULL db_datadict LOCK TABLES NO +'testuser3'@'localhost' NULL db_datadict REFERENCES NO +'testuser3'@'localhost' NULL db_datadict SELECT NO +'testuser3'@'localhost' NULL db_datadict SHOW VIEW NO +'testuser3'@'localhost' NULL db_datadict UPDATE NO +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES +GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser2'@'localhost'; +# FIXME: Is it intended that *my* grants to others are *NOT* shown here? +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser3'@'localhost' NULL db_datadict t1 f3 SELECT YES +# Switch to connection testuser2 (user=testuser2) +SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser2'@'localhost' NULL db_datadict t1 f1 SELECT NO +'testuser2'@'localhost' NULL db_datadict t1 f2 SELECT NO +'testuser2'@'localhost' NULL db_datadict t1 f3 SELECT NO +# Switch to connection default and close connections testuser1,testuser2,testuser3 +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +################################################################################ +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMN_PRIVILEGES modifications +################################################################################ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.my_table (f1 BIGINT, f2 CHAR(10), f3 DATE) +ENGINE = <engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT ALL ON test.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +# Switch to connection default +GRANT SELECT (f1,f3) ON db_datadict.my_table TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection default +ALTER TABLE db_datadict.my_table DROP COLUMN f3; +GRANT UPDATE (f1) ON db_datadict.my_table TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +SELECT f1, f3 FROM db_datadict.my_table; +ERROR 42S22: Unknown column 'f3' in 'field list' +# Switch to connection default +ALTER TABLE db_datadict.my_table CHANGE COLUMN f1 my_col BIGINT; +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection default +DROP TABLE db_datadict.my_table; +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict my_table f1 SELECT NO +'testuser1'@'localhost' NULL db_datadict my_table f1 UPDATE NO +'testuser1'@'localhost' NULL db_datadict my_table f3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +GRANT SELECT (f3, f1), UPDATE (f1) ON `db_datadict`.`my_table` TO 'testuser1'@'localhost' +# Switch to connection default +REVOKE ALL ON db_datadict.my_table FROM 'testuser1'@'localhost'; +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `test`.* TO 'testuser1'@'localhost' +# Switch to connection default and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT) +ENGINE = <engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost'; +INSERT INTO information_schema.column_privileges +SELECT * FROM information_schema.column_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.column_privileges SET table_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.column_privileges WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.column_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_tables +ON information_schema.column_privileges(table_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.column_privileges ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.column_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.column_privileges +RENAME db_datadict.column_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.column_privileges +RENAME information_schema.xcolumn_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; diff --git a/mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result new file mode 100644 index 00000000000..acf26587004 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result @@ -0,0 +1,37 @@ +############################################################################## +# Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information +############################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.column_privileges +WHERE table_schema IN ('information_schema','mysql','test') +ORDER BY table_schema, table_name, column_name; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +SHOW DATABASES LIKE 'mysql'; +Database (mysql) +mysql +SHOW DATABASES LIKE 'test'; +Database (test) +test +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.column_privileges +WHERE table_schema IN ('information_schema','mysql','test') +ORDER BY table_schema, table_name, column_name; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +SHOW DATABASES LIKE 'mysql'; +Database (mysql) +SHOW DATABASES LIKE 'test'; +Database (test) +test +# Switch to connection default and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_columns.result b/mysql-test/suite/funcs_1/r/is_columns.result new file mode 100644 index 00000000000..4b0ee86a81b --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns.result @@ -0,0 +1,486 @@ +SHOW TABLES FROM information_schema LIKE 'COLUMNS'; +Tables_in_information_schema (COLUMNS) +COLUMNS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.COLUMNS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.COLUMNS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.COLUMNS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.COLUMNS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.6.1: INFORMATION_SCHEMA.COLUMNS layout +######################################################################### +DESCRIBE information_schema.COLUMNS; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +COLUMN_NAME varchar(64) NO +ORDINAL_POSITION bigint(21) NO 0 +COLUMN_DEFAULT longtext YES NULL +IS_NULLABLE varchar(3) NO +DATA_TYPE varchar(64) NO +CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL +CHARACTER_OCTET_LENGTH bigint(21) YES NULL +NUMERIC_PRECISION bigint(21) YES NULL +NUMERIC_SCALE bigint(21) YES NULL +CHARACTER_SET_NAME varchar(64) YES NULL +COLLATION_NAME varchar(64) YES NULL +COLUMN_TYPE longtext NO NULL +COLUMN_KEY varchar(3) NO +EXTRA varchar(20) NO +PRIVILEGES varchar(80) NO +COLUMN_COMMENT varchar(255) NO +SHOW CREATE TABLE information_schema.COLUMNS; +Table Create Table +COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `COLUMN_NAME` varchar(64) NOT NULL default '', + `ORDINAL_POSITION` bigint(21) NOT NULL default '0', + `COLUMN_DEFAULT` longtext, + `IS_NULLABLE` varchar(3) NOT NULL default '', + `DATA_TYPE` varchar(64) NOT NULL default '', + `CHARACTER_MAXIMUM_LENGTH` bigint(21) default NULL, + `CHARACTER_OCTET_LENGTH` bigint(21) default NULL, + `NUMERIC_PRECISION` bigint(21) default NULL, + `NUMERIC_SCALE` bigint(21) default NULL, + `CHARACTER_SET_NAME` varchar(64) default NULL, + `COLLATION_NAME` varchar(64) default NULL, + `COLUMN_TYPE` longtext NOT NULL, + `COLUMN_KEY` varchar(3) NOT NULL default '', + `EXTRA` varchar(20) NOT NULL default '', + `PRIVILEGES` varchar(80) NOT NULL default '', + `COLUMN_COMMENT` varchar(255) NOT NULL default '' +) ENGINE=MyISAM DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.COLUMNS; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +COLUMN_NAME varchar(64) NO +ORDINAL_POSITION bigint(21) NO 0 +COLUMN_DEFAULT longtext YES NULL +IS_NULLABLE varchar(3) NO +DATA_TYPE varchar(64) NO +CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL +CHARACTER_OCTET_LENGTH bigint(21) YES NULL +NUMERIC_PRECISION bigint(21) YES NULL +NUMERIC_SCALE bigint(21) YES NULL +CHARACTER_SET_NAME varchar(64) YES NULL +COLLATION_NAME varchar(64) YES NULL +COLUMN_TYPE longtext NO NULL +COLUMN_KEY varchar(3) NO +EXTRA varchar(20) NO +PRIVILEGES varchar(80) NO +COLUMN_COMMENT varchar(255) NO +SELECT table_catalog, table_schema, table_name, column_name +FROM information_schema.columns WHERE table_catalog IS NOT NULL; +table_catalog table_schema table_name column_name +############################################################################### +# Testcase 3.2.6.2 + 3.2.6.3: INFORMATION_SCHEMA.COLUMNS accessible information +############################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +CREATE TABLE db_datadict.t1 +(f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT AUTO_INCREMENT, +UNIQUE INDEX MUL_IDX(f1,f3), PRIMARY KEY (f4)) +ENGINE = <other_engine_type>; +CREATE VIEW db_datadict.v1 AS SELECT 1 AS f1, 1 AS f2; +GRANT SELECT(f1, f2) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT(f2) ON db_datadict.v1 TO 'testuser1'@'localhost'; +CREATE TABLE db_datadict.t2 +(f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT, PRIMARY KEY (f1,f4)) +ENGINE = <other_engine_type>; +GRANT INSERT(f1, f2) ON db_datadict.t2 TO 'testuser2'@'localhost'; +SELECT * FROM information_schema.columns +WHERE table_schema = 'db_datadict' +ORDER BY table_schema, table_name, ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL db_datadict t1 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) MUL select,insert,update,references +NULL db_datadict t1 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references +NULL db_datadict t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL db_datadict t1 f4 4 NULL NO int NULL NULL 10 0 NULL NULL int(11) PRI auto_increment select,insert,update,references +NULL db_datadict t2 f1 1 NO char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) PRI select,insert,update,references +NULL db_datadict t2 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references +NULL db_datadict t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL db_datadict t2 f4 4 0 NO int NULL NULL 10 0 NULL NULL int(11) PRI select,insert,update,references +NULL db_datadict v1 f1 1 0 NO int NULL NULL 10 0 NULL NULL int(1) select,insert,update,references +NULL db_datadict v1 f2 2 0 NO int NULL NULL 10 0 NULL NULL int(1) select,insert,update,references +SHOW COLUMNS FROM db_datadict.t1; +Field Type Null Key Default Extra +f1 char(10) YES MUL NULL +f2 text YES NULL +f3 date YES NULL +f4 int(11) NO PRI NULL auto_increment +SHOW COLUMNS FROM db_datadict.t2; +Field Type Null Key Default Extra +f1 char(10) NO PRI +f2 text YES NULL +f3 date YES NULL +f4 int(11) NO PRI 0 +SHOW COLUMNS FROM db_datadict.v1; +Field Type Null Key Default Extra +f1 int(1) NO 0 +f2 int(1) NO 0 +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.columns +WHERE table_schema = 'db_datadict' +ORDER BY table_schema, table_name, ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL db_datadict t1 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) MUL select +NULL db_datadict t1 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select +NULL db_datadict v1 f2 2 0 NO int NULL NULL 10 0 NULL NULL int(1) select +SHOW COLUMNS FROM db_datadict.t1; +Field Type Null Key Default Extra +f1 char(10) YES MUL NULL +f2 text YES NULL +SHOW COLUMNS FROM db_datadict.t2; +ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 't2' +SHOW COLUMNS FROM db_datadict.v1; +Field Type Null Key Default Extra +f2 int(1) NO 0 +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.columns +WHERE table_schema = 'db_datadict' +ORDER BY table_schema, table_name, ordinal_position; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL db_datadict t2 f1 1 NO char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) PRI insert +NULL db_datadict t2 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert +SHOW COLUMNS FROM db_datadict.t1; +ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 't1' +SHOW COLUMNS FROM db_datadict.t2; +Field Type Null Key Default Extra +f1 char(10) NO PRI +f2 text YES NULL +SHOW COLUMNS FROM db_datadict.v1; +ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 'v1' +# Switch to connection default and close connections testuser1, testuser2 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE IF EXISTS db_datadict; +############################################################################### +# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMNS modifications +############################################################################### +DROP TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT table_name FROM information_schema.columns +WHERE table_name LIKE 't1_my_table%'; +table_name +CREATE TABLE test.t1_my_table (f1 CHAR(12)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = <engine_type>; +SELECT * FROM information_schema.columns +WHERE table_name = 't1_my_table'; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_table +COLUMN_NAME f1 +ORDINAL_POSITION 1 +COLUMN_DEFAULT NULL +IS_NULLABLE YES +DATA_TYPE char +CHARACTER_MAXIMUM_LENGTH 12 +CHARACTER_OCTET_LENGTH 12 +NUMERIC_PRECISION NULL +NUMERIC_SCALE NULL +CHARACTER_SET_NAME latin1 +COLLATION_NAME latin1_swedish_ci +COLUMN_TYPE char(12) +COLUMN_KEY +EXTRA +PRIVILEGES select,insert,update,references +COLUMN_COMMENT +SELECT table_name FROM information_schema.columns +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_table +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.columns +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_tablex +SELECT table_schema,table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_schema table_name +test t1_my_tablex +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_schema table_name +db_datadict t1_my_tablex +SELECT table_name, column_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex f1 +ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12); +SELECT table_name, column_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex first_col +SELECT table_name, column_name, character_maximum_length, +character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name character_maximum_length character_octet_length column_type +t1_my_tablex first_col 12 12 char(12) +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(20); +SELECT table_name, column_name, character_maximum_length, +character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name character_maximum_length character_octet_length column_type +t1_my_tablex first_col 20 20 char(20) +SELECT table_name, column_name, character_maximum_length, +character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name character_maximum_length character_octet_length column_type +t1_my_tablex first_col 20 20 char(20) +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col VARCHAR(20); +SELECT table_name, column_name, character_maximum_length, +character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name character_maximum_length character_octet_length column_type +t1_my_tablex first_col 20 20 varchar(20) +SELECT table_name, column_name, column_default +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name column_default +t1_my_tablex first_col NULL +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) DEFAULT 'hello'; +SELECT table_name, column_name, column_default +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name column_default +t1_my_tablex first_col hello +SELECT table_name, column_name, is_nullable +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name is_nullable +t1_my_tablex first_col YES +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) NOT NULL; +SELECT table_name, column_name, is_nullable +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name is_nullable +t1_my_tablex first_col NO +SELECT table_name, column_name, collation_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name collation_name +t1_my_tablex first_col latin1_swedish_ci +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) COLLATE 'latin1_general_cs'; +SELECT table_name, column_name, collation_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name collation_name +t1_my_tablex first_col latin1_general_cs +SELECT table_name, column_name, character_maximum_length, +character_octet_length, character_set_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name character_maximum_length character_octet_length character_set_name +t1_my_tablex first_col 10 10 latin1 +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) CHARACTER SET utf8; +SELECT table_name, column_name, character_maximum_length, +character_octet_length, character_set_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name character_maximum_length character_octet_length character_set_name +t1_my_tablex first_col 10 30 utf8 +SELECT table_name, column_name, column_comment +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name column_comment +t1_my_tablex first_col +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) COMMENT 'Hello'; +SELECT table_name, column_name, column_comment +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name column_comment +t1_my_tablex first_col Hello +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex first_col +ALTER TABLE db_datadict.t1_my_tablex +ADD COLUMN second_col CHAR(10); +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex first_col +t1_my_tablex second_col +SELECT table_name, column_name, ordinal_position +FROM information_schema.columns +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +table_name column_name ordinal_position +t1_my_tablex first_col 1 +t1_my_tablex second_col 2 +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN second_col CHAR(10) FIRST; +SELECT table_name, column_name, ordinal_position +FROM information_schema.columns +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +table_name column_name ordinal_position +t1_my_tablex first_col 2 +t1_my_tablex second_col 1 +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex second_col +t1_my_tablex first_col +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN first_col; +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex second_col +SELECT table_name, column_name, column_key +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name column_key +t1_my_tablex second_col +ALTER TABLE db_datadict.t1_my_tablex +ADD UNIQUE INDEX IDX(second_col); +SELECT table_name, column_name, column_key +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name column_key +t1_my_tablex second_col UNI +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +t1_my_tablex second_col +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name column_name +CREATE VIEW test.t1_my_tablex +AS SELECT 1 AS "col1", 'A' collate latin1_german1_ci AS "col2"; +SELECT * FROM information_schema.columns +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_tablex +COLUMN_NAME col1 +ORDINAL_POSITION 1 +COLUMN_DEFAULT 0 +IS_NULLABLE NO +DATA_TYPE int +CHARACTER_MAXIMUM_LENGTH NULL +CHARACTER_OCTET_LENGTH NULL +NUMERIC_PRECISION 10 +NUMERIC_SCALE 0 +CHARACTER_SET_NAME NULL +COLLATION_NAME NULL +COLUMN_TYPE int(1) +COLUMN_KEY +EXTRA +PRIVILEGES select,insert,update,references +COLUMN_COMMENT +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_tablex +COLUMN_NAME col2 +ORDINAL_POSITION 2 +COLUMN_DEFAULT +IS_NULLABLE NO +DATA_TYPE varchar +CHARACTER_MAXIMUM_LENGTH 1 +CHARACTER_OCTET_LENGTH 1 +NUMERIC_PRECISION NULL +NUMERIC_SCALE NULL +CHARACTER_SET_NAME latin1 +COLLATION_NAME latin1_german1_ci +COLUMN_TYPE varchar(1) +COLUMN_KEY +EXTRA +PRIVILEGES select,insert,update,references +COLUMN_COMMENT +DROP VIEW test.t1_my_tablex; +SELECT table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = <engine_type> AS +SELECT 1; +SELECT table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +table_name +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS test.t1; +CREATE DATABASE db_datadict; +CREATE TABLE test.t1 (f1 BIGINT); +INSERT INTO information_schema.columns (table_schema,table_name,column_name) +VALUES('test','t1', 'f2'); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +INSERT INTO information_schema.columns (table_schema,table_name,column_name) +VALUES('test','t2', 'f1'); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.columns SET table_name = 't4' WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.columns WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.columns; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX i3 ON information_schema.columns(table_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.columns ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.columns; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.columns RENAME db_datadict.columns; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.columns RENAME information_schema.xcolumns; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE test.t1; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_columns_innodb.result b/mysql-test/suite/funcs_1/r/is_columns_innodb.result new file mode 100644 index 00000000000..d7f801f2dcd --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns_innodb.result @@ -0,0 +1,1130 @@ +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; +SELECT * FROM information_schema.columns +WHERE table_schema LIKE 'test%' +ORDER BY table_schema, table_name, column_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb1 f1 1 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references +NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references +NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references +NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references +NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references +NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb1 f2 2 NULL YES char 0 0 NULL NULL latin1 latin1_bin char(0) select,insert,update,references +NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references +NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references +NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references +NULL test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references +NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references +NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references +NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references +NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references +NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references +NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references +NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references +NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references +NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references +NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references +NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references +NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references +NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references +NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references +NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references +NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references +NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references +NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references +NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test tb4 f235 52 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references +NULL test tb4 f236 53 NULL YES char 90 90 NULL NULL latin1 latin1_swedish_ci char(90) select,insert,update,references +NULL test tb4 f237 54 NULL YES char 255 255 NULL NULL latin1 latin1_swedish_ci char(255) select,insert,update,references +NULL test tb4 f238 55 NULL YES varchar 0 0 NULL NULL latin1 latin1_swedish_ci varchar(0) select,insert,update,references +NULL test tb4 f239 56 NULL YES varchar 20000 20000 NULL NULL latin1 latin1_bin varchar(20000) select,insert,update,references +NULL test tb4 f240 57 NULL YES varchar 2000 4000 NULL NULL ucs2 ucs2_general_ci varchar(2000) select,insert,update,references +NULL test tb4 f241 58 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references +NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +########################################################################## +# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH +########################################################################## +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +1.0000 binary NULL NULL +1.0000 blob NULL NULL +1.0000 longblob NULL NULL +1.0000 mediumblob NULL NULL +1.0000 tinyblob NULL NULL +1.0000 char latin1 latin1_bin +1.0000 varchar latin1 latin1_bin +1.0000 char latin1 latin1_swedish_ci +1.0000 enum latin1 latin1_swedish_ci +1.0000 longtext latin1 latin1_swedish_ci +1.0000 mediumtext latin1 latin1_swedish_ci +1.0000 set latin1 latin1_swedish_ci +1.0000 text latin1 latin1_swedish_ci +1.0000 tinytext latin1 latin1_swedish_ci +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +2.0000 char ucs2 ucs2_general_ci +2.0000 longtext ucs2 ucs2_general_ci +2.0000 varchar ucs2 ucs2_general_ci +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 table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +NULL bigint NULL NULL +NULL date NULL NULL +NULL datetime NULL NULL +NULL decimal NULL NULL +NULL double NULL NULL +NULL double unsigned NULL NULL +NULL double unsigned zerofill NULL NULL +NULL float NULL NULL +NULL float unsigned NULL NULL +NULL float unsigned zerofill NULL NULL +NULL int NULL NULL +NULL mediumint NULL NULL +NULL smallint NULL NULL +NULL time NULL NULL +NULL timestamp NULL NULL +NULL tinyint NULL NULL +NULL year NULL NULL +NULL char latin1 latin1_bin +NULL char latin1 latin1_swedish_ci +NULL varchar latin1 latin1_swedish_ci +NULL char ucs2 ucs2_general_ci +--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values +--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL +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 +WHERE table_schema LIKE 'test%' +ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; +COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE +1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f3 date NULL NULL NULL NULL date +NULL test t1 f4 int NULL NULL NULL NULL int(11) +1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f6 int NULL NULL NULL NULL int(11) +1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f3 date NULL NULL NULL NULL date +NULL test t10 f4 int NULL NULL NULL NULL int(11) +1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f6 int NULL NULL NULL NULL int(11) +1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f3 date NULL NULL NULL NULL date +NULL test t11 f4 int NULL NULL NULL NULL int(11) +1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f6 int NULL NULL NULL NULL int(11) +1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f3 date NULL NULL NULL NULL date +NULL test t2 f4 int NULL NULL NULL NULL int(11) +1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f6 int NULL NULL NULL NULL int(11) +1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) +NULL test t3 f3 int NULL NULL NULL NULL int(11) +1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f3 date NULL NULL NULL NULL date +NULL test t4 f4 int NULL NULL NULL NULL int(11) +1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f6 int NULL NULL NULL NULL int(11) +1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t7 f3 date NULL NULL NULL NULL date +NULL test t7 f4 int NULL NULL NULL NULL int(11) +1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t8 f3 date NULL NULL NULL NULL date +NULL test t8 f4 int NULL NULL NULL NULL int(11) +NULL test t9 f1 int NULL NULL NULL NULL int(11) +1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t9 f3 int NULL NULL NULL NULL int(11) +NULL test tb1 f1 char 0 0 latin1 latin1_swedish_ci char(0) +NULL test tb1 f2 char 0 0 latin1 latin1_bin char(0) +NULL test tb1 f3 char 0 0 latin1 latin1_swedish_ci char(0) +2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext +1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text +1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext +1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext +1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob +1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob +1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob +1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob +1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1) +NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4) +NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned +NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6) +NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned +NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9) +NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned +NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb1 f25 int NULL NULL NULL NULL int(11) +NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned +NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20) +NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned +NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb2 f73 double NULL NULL NULL NULL double +NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f77 double NULL NULL NULL NULL double +NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f81 float NULL NULL NULL NULL float +NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f85 float NULL NULL NULL NULL float +NULL test tb2 f86 float NULL NULL NULL NULL float +NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f93 float NULL NULL NULL NULL float +NULL test tb2 f94 double NULL NULL NULL NULL double +NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f101 date NULL NULL NULL NULL date +NULL test tb2 f102 time NULL NULL NULL NULL time +NULL test tb2 f103 datetime NULL NULL NULL NULL datetime +NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp +NULL test tb2 f105 year NULL NULL NULL NULL year(4) +NULL test tb2 f106 year NULL NULL NULL NULL year(4) +NULL test tb2 f107 year NULL NULL NULL NULL year(4) +1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1) +1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext +1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text +1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext +2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext +1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob +1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob +1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob +1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob +1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1) +NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4) +NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned +NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6) +NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned +NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9) +NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned +NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb3 f142 int NULL NULL NULL NULL int(11) +NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned +NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20) +NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned +NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb4 f190 double NULL NULL NULL NULL double +NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f194 double NULL NULL NULL NULL double +NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f198 float NULL NULL NULL NULL float +NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f202 float NULL NULL NULL NULL float +NULL test tb4 f203 float NULL NULL NULL NULL float +NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f210 float NULL NULL NULL NULL float +NULL test tb4 f211 double NULL NULL NULL NULL double +NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f218 date NULL NULL NULL NULL date +NULL test tb4 f219 time NULL NULL NULL NULL time +NULL test tb4 f220 datetime NULL NULL NULL NULL datetime +NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp +NULL test tb4 f222 year NULL NULL NULL NULL year(4) +NULL test tb4 f223 year NULL NULL NULL NULL year(4) +NULL test tb4 f224 year NULL NULL NULL NULL year(4) +1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +NULL test tb4 f235 char 0 0 ucs2 ucs2_general_ci char(0) +1.0000 test tb4 f236 char 90 90 latin1 latin1_swedish_ci char(90) +1.0000 test tb4 f237 char 255 255 latin1 latin1_swedish_ci char(255) +NULL test tb4 f238 varchar 0 0 latin1 latin1_swedish_ci varchar(0) +1.0000 test tb4 f239 varchar 20000 20000 latin1 latin1_bin varchar(20000) +2.0000 test tb4 f240 varchar 2000 4000 ucs2 ucs2_general_ci varchar(2000) +2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100) +NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) +NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) +NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test1 tb2 f73 double NULL NULL NULL NULL double +NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f77 double NULL NULL NULL NULL double +NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f81 float NULL NULL NULL NULL float +NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f85 float NULL NULL NULL NULL float +NULL test1 tb2 f86 float NULL NULL NULL NULL float +NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f93 float NULL NULL NULL NULL float +NULL test1 tb2 f94 double NULL NULL NULL NULL double +NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f101 date NULL NULL NULL NULL date +NULL test1 tb2 f102 time NULL NULL NULL NULL time +NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime +NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp +NULL test1 tb2 f105 year NULL NULL NULL NULL year(4) +NULL test1 tb2 f106 year NULL NULL NULL NULL year(4) +NULL test1 tb2 f107 year NULL NULL NULL NULL year(4) +1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f3 date NULL NULL NULL NULL date +NULL test4 t6 f4 int NULL NULL NULL NULL int(11) +1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f6 int NULL NULL NULL NULL int(11) +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 --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result new file mode 100644 index 00000000000..52566152f54 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns_is.result @@ -0,0 +1,380 @@ +SELECT * FROM information_schema.columns +WHERE table_schema = 'information_schema' +AND table_name <> 'profiling' +ORDER BY table_schema, table_name, column_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select +NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select +NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select +NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select +NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select +NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select +NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select +NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select +NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select +NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select +NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select +NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select +NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select +NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select +NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select +NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select +NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select +NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select +NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select +NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select +NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select +NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select +NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select +NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select +NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select +NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select +NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select +NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select +NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select +NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select +NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select +NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select +NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select +NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select +NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select +NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select +NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select +########################################################################## +# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH +########################################################################## +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema = 'information_schema' +AND table_name <> 'profiling' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +1.0000 longtext utf8 utf8_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 table_schema = 'information_schema' +AND table_name <> 'profiling' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +3.0000 varchar utf8 utf8_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 table_schema = 'information_schema' +AND table_name <> 'profiling' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +NULL bigint NULL NULL +NULL datetime NULL NULL +--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values +--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL +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 +WHERE table_schema = 'information_schema' +AND table_name <> 'profiling' +ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; +COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE +3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60) +NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3) +3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11) +3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3) +NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) +3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) +1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) +NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) +3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20) +3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80) +3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 255 765 utf8 utf8_general_ci varchar(255) +3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) +3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10) +NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10) +3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) +3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) +1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8) +3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) +NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime +NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime +1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) +3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) +3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1) +3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2) +3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1) +NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21) +NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) +3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10) +3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16) +3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16) +3.0000 information_schema TABLES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) +3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) +NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) +NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime +NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime +NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime +3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) +3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) +3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) +3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) +3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6) +3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) +NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4) +1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9) +3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6) +3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) +NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime +1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) +3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema VIEWS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) +3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8) +3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3) +3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) +3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) diff --git a/mysql-test/suite/funcs_1/r/is_columns_memory.result b/mysql-test/suite/funcs_1/r/is_columns_memory.result new file mode 100644 index 00000000000..154ad27e403 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns_memory.result @@ -0,0 +1,1076 @@ +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +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, +f2 char binary, +f3 char ascii, +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 not null DEFAULT 9.9, +f34 decimal unsigned not null DEFAULT 9.9, +f35 decimal zerofill not null DEFAULT 9.9, +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 = memory; +Warnings: +Note 1265 Data truncated for column 'f33' at row 1 +Note 1265 Data truncated for column 'f34' at row 1 +Note 1265 Data truncated for column 'f35' at row 1 +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/memory_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 = memory; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 char(50), +f122 char(50), +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 = memory; +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/memory_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"), +f236 char(95) unicode, +f241 char(255) unicode, +f237 char(130) binary, +f238 varchar(25000) binary, +f239 varbinary(0), +f240 varchar(1200) unicode +) engine = memory; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 = memory; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 = MEMORY; +CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +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 = MEMORY; +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 = MEMORY; +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 = MEMORY; +CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = MEMORY; +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 = MEMORY; +LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9; +SELECT * FROM information_schema.columns +WHERE table_schema LIKE 'test%' +ORDER BY table_schema, table_name, column_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references +NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references +NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references +NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references +NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references +NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references +NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references +NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references +NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references +NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references +NULL test tb3 f129 6 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references +NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references +NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references +NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references +NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references +NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references +NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references +NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references +NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references +NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references +NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references +NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references +NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +########################################################################## +# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH +########################################################################## +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +1.0000 binary NULL NULL +1.0000 char latin1 latin1_bin +1.0000 varchar latin1 latin1_bin +1.0000 char latin1 latin1_swedish_ci +1.0000 enum latin1 latin1_swedish_ci +1.0000 set latin1 latin1_swedish_ci +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +2.0000 char ucs2 ucs2_general_ci +2.0000 varchar 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 table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +NULL bigint NULL NULL +NULL date NULL NULL +NULL datetime NULL NULL +NULL decimal NULL NULL +NULL double NULL NULL +NULL double unsigned NULL NULL +NULL double unsigned zerofill NULL NULL +NULL float NULL NULL +NULL float unsigned NULL NULL +NULL float unsigned zerofill NULL NULL +NULL int NULL NULL +NULL mediumint NULL NULL +NULL smallint NULL NULL +NULL time NULL NULL +NULL timestamp NULL NULL +NULL tinyint NULL NULL +NULL varbinary NULL NULL +NULL year NULL NULL +--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values +--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL +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 +WHERE table_schema LIKE 'test%' +ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; +COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE +1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f3 date NULL NULL NULL NULL date +NULL test t1 f4 int NULL NULL NULL NULL int(11) +1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f6 int NULL NULL NULL NULL int(11) +1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f3 date NULL NULL NULL NULL date +NULL test t10 f4 int NULL NULL NULL NULL int(11) +1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f6 int NULL NULL NULL NULL int(11) +1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f3 date NULL NULL NULL NULL date +NULL test t11 f4 int NULL NULL NULL NULL int(11) +1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f6 int NULL NULL NULL NULL int(11) +1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f3 date NULL NULL NULL NULL date +NULL test t2 f4 int NULL NULL NULL NULL int(11) +1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f6 int NULL NULL NULL NULL int(11) +1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) +NULL test t3 f3 int NULL NULL NULL NULL int(11) +1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f3 date NULL NULL NULL NULL date +NULL test t4 f4 int NULL NULL NULL NULL int(11) +1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f6 int NULL NULL NULL NULL int(11) +1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t7 f3 date NULL NULL NULL NULL date +NULL test t7 f4 int NULL NULL NULL NULL int(11) +1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t8 f3 date NULL NULL NULL NULL date +NULL test t8 f4 int NULL NULL NULL NULL int(11) +NULL test t9 f1 int NULL NULL NULL NULL int(11) +1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t9 f3 int NULL NULL NULL NULL int(11) +1.0000 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1) +1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1) +NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4) +NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned +NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6) +NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned +NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9) +NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned +NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb1 f25 int NULL NULL NULL NULL int(11) +NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned +NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20) +NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned +NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb2 f73 double NULL NULL NULL NULL double +NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f77 double NULL NULL NULL NULL double +NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f81 float NULL NULL NULL NULL float +NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f85 float NULL NULL NULL NULL float +NULL test tb2 f86 float NULL NULL NULL NULL float +NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f93 float NULL NULL NULL NULL float +NULL test tb2 f94 double NULL NULL NULL NULL double +NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f101 date NULL NULL NULL NULL date +NULL test tb2 f102 time NULL NULL NULL NULL time +NULL test tb2 f103 datetime NULL NULL NULL NULL datetime +NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp +NULL test tb2 f105 year NULL NULL NULL NULL year(4) +NULL test tb2 f106 year NULL NULL NULL NULL year(4) +NULL test tb2 f107 year NULL NULL NULL NULL year(4) +1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1) +1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb3 f121 char 50 50 latin1 latin1_swedish_ci char(50) +1.0000 test tb3 f122 char 50 50 latin1 latin1_swedish_ci char(50) +1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1) +NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4) +NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned +NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6) +NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned +NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9) +NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned +NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb3 f142 int NULL NULL NULL NULL int(11) +NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned +NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20) +NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned +NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb4 f190 double NULL NULL NULL NULL double +NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f194 double NULL NULL NULL NULL double +NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f198 float NULL NULL NULL NULL float +NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f202 float NULL NULL NULL NULL float +NULL test tb4 f203 float NULL NULL NULL NULL float +NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f210 float NULL NULL NULL NULL float +NULL test tb4 f211 double NULL NULL NULL NULL double +NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f218 date NULL NULL NULL NULL date +NULL test tb4 f219 time NULL NULL NULL NULL time +NULL test tb4 f220 datetime NULL NULL NULL NULL datetime +NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp +NULL test tb4 f222 year NULL NULL NULL NULL year(4) +NULL test tb4 f223 year NULL NULL NULL NULL year(4) +NULL test tb4 f224 year NULL NULL NULL NULL year(4) +1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +2.0000 test tb4 f236 char 95 190 ucs2 ucs2_general_ci char(95) +2.0000 test tb4 f241 char 255 510 ucs2 ucs2_general_ci char(255) +1.0000 test tb4 f237 char 130 130 latin1 latin1_bin char(130) +1.0000 test tb4 f238 varchar 25000 25000 latin1 latin1_bin varchar(25000) +NULL test tb4 f239 varbinary 0 0 NULL NULL varbinary(0) +2.0000 test tb4 f240 varchar 1200 2400 ucs2 ucs2_general_ci varchar(1200) +NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) +NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) +NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test1 tb2 f73 double NULL NULL NULL NULL double +NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f77 double NULL NULL NULL NULL double +NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f81 float NULL NULL NULL NULL float +NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f85 float NULL NULL NULL NULL float +NULL test1 tb2 f86 float NULL NULL NULL NULL float +NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f93 float NULL NULL NULL NULL float +NULL test1 tb2 f94 double NULL NULL NULL NULL double +NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f101 date NULL NULL NULL NULL date +NULL test1 tb2 f102 time NULL NULL NULL NULL time +NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime +NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp +NULL test1 tb2 f105 year NULL NULL NULL NULL year(4) +NULL test1 tb2 f106 year NULL NULL NULL NULL year(4) +NULL test1 tb2 f107 year NULL NULL NULL NULL year(4) +1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f3 date NULL NULL NULL NULL date +NULL test4 t6 f4 int NULL NULL NULL NULL int(11) +1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f6 int NULL NULL NULL NULL int(11) +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 --git a/mysql-test/suite/funcs_1/r/is_columns_myisam.result b/mysql-test/suite/funcs_1/r/is_columns_myisam.result new file mode 100644 index 00000000000..2365dda1b24 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns_myisam.result @@ -0,0 +1,1207 @@ +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +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, +f2 char binary, +f3 char 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 not null DEFAULT 9.9, +f34 decimal unsigned not null DEFAULT 9.9, +f35 decimal zerofill not null DEFAULT 9.9, +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 = myisam; +Warnings: +Note 1265 Data truncated for column 'f33' at row 1 +Note 1265 Data truncated for column 'f34' at row 1 +Note 1265 Data truncated for column 'f35' at row 1 +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/myisam_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", +f110 VARBINARY(64) null, +f111 VARBINARY(27) null , +f112 VARBINARY(64) null , +f113 VARBINARY(192) null , +f114 VARBINARY(192) , +f115 VARBINARY(27) null , +f116 VARBINARY(64) null, +f117 VARBINARY(192) null +) engine = myisam; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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 = myisam; +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/myisam_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"), +f227 VARBINARY(64), +f228 VARBINARY(27), +f229 VARBINARY(64), +f230 VARBINARY(192), +f231 VARBINARY(192), +f232 VARBINARY(27), +f233 VARBINARY(64), +f234 VARBINARY(192), +f235 char(255) unicode, +f236 char(60) ascii, +f237 char(255) binary, +f238 varchar(0) binary, +f239 varbinary(1000), +f240 varchar(120) unicode, +f241 char(100) unicode, +f242 bit(30) +) engine = myisam; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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", +f110 VARBINARY(64) null, +f111 VARBINARY(27) null , +f112 VARBINARY(64) null , +f113 VARBINARY(192) null , +f114 VARBINARY(192) , +f115 VARBINARY(27) null , +f116 VARBINARY(64) null, +f117 VARBINARY(192) null +) engine = myisam; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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 = MyISAM; +CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +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 = MyISAM; +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 = MyISAM; +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 = MyISAM; +CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = MyISAM; +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 = MyISAM; +LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9; +SELECT * FROM information_schema.columns +WHERE table_schema LIKE 'test%' +ORDER BY table_schema, table_name, column_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references +NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references +NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references +NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references +NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references +NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references +NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references +NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references +NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references +NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references +NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references +NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references +NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references +NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references +NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references +NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references +NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references +NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references +NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references +NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references +NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references +NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references +NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references +NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references +NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references +NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references +NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references +NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references +NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references +NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references +NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references +NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references +NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references +NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references +NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references +NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references +NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references +NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references +NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references +NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references +NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references +NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references +NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references +NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references +NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references +NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references +NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references +NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references +NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references +NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references +NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references +NULL test1 tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test1 tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references +NULL test1 tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test1 tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test1 tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test1 tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references +NULL test1 tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references +NULL test1 tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references +NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references +NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references +NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references +NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references +NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references +NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references +NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references +NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references +NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references +NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references +NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references +NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references +NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references +NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +########################################################################## +# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH +########################################################################## +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +1.0000 binary NULL NULL +1.0000 blob NULL NULL +1.0000 longblob NULL NULL +1.0000 mediumblob NULL NULL +1.0000 tinyblob NULL NULL +1.0000 varbinary NULL NULL +1.0000 char latin1 latin1_bin +1.0000 char latin1 latin1_swedish_ci +1.0000 enum latin1 latin1_swedish_ci +1.0000 longtext latin1 latin1_swedish_ci +1.0000 mediumtext latin1 latin1_swedish_ci +1.0000 set latin1 latin1_swedish_ci +1.0000 text latin1 latin1_swedish_ci +1.0000 tinytext latin1 latin1_swedish_ci +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +2.0000 char ucs2 ucs2_general_ci +2.0000 longtext ucs2 ucs2_general_ci +2.0000 varchar ucs2 ucs2_general_ci +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 table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +NULL bigint NULL NULL +NULL bit NULL NULL +NULL date NULL NULL +NULL datetime NULL NULL +NULL decimal NULL NULL +NULL double NULL NULL +NULL double unsigned NULL NULL +NULL double unsigned zerofill NULL NULL +NULL float NULL NULL +NULL float unsigned NULL NULL +NULL float unsigned zerofill NULL NULL +NULL int NULL NULL +NULL mediumint NULL NULL +NULL smallint NULL NULL +NULL time NULL NULL +NULL timestamp NULL NULL +NULL tinyint NULL NULL +NULL year NULL NULL +NULL varchar latin1 latin1_bin +--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values +--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL +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 +WHERE table_schema LIKE 'test%' +ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; +COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE +1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f3 date NULL NULL NULL NULL date +NULL test t1 f4 int NULL NULL NULL NULL int(11) +1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f6 int NULL NULL NULL NULL int(11) +1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f3 date NULL NULL NULL NULL date +NULL test t10 f4 int NULL NULL NULL NULL int(11) +1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f6 int NULL NULL NULL NULL int(11) +1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f3 date NULL NULL NULL NULL date +NULL test t11 f4 int NULL NULL NULL NULL int(11) +1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f6 int NULL NULL NULL NULL int(11) +1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f3 date NULL NULL NULL NULL date +NULL test t2 f4 int NULL NULL NULL NULL int(11) +1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f6 int NULL NULL NULL NULL int(11) +1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) +NULL test t3 f3 int NULL NULL NULL NULL int(11) +1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f3 date NULL NULL NULL NULL date +NULL test t4 f4 int NULL NULL NULL NULL int(11) +1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f6 int NULL NULL NULL NULL int(11) +1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t7 f3 date NULL NULL NULL NULL date +NULL test t7 f4 int NULL NULL NULL NULL int(11) +1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t8 f3 date NULL NULL NULL NULL date +NULL test t8 f4 int NULL NULL NULL NULL int(11) +NULL test t9 f1 int NULL NULL NULL NULL int(11) +1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t9 f3 int NULL NULL NULL NULL int(11) +1.0000 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1) +1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1) +2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext +1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text +1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext +1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext +1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob +1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob +1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob +1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob +1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1) +NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4) +NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned +NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6) +NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned +NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9) +NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned +NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb1 f25 int NULL NULL NULL NULL int(11) +NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned +NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20) +NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned +NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb2 f73 double NULL NULL NULL NULL double +NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f77 double NULL NULL NULL NULL double +NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f81 float NULL NULL NULL NULL float +NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f85 float NULL NULL NULL NULL float +NULL test tb2 f86 float NULL NULL NULL NULL float +NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f93 float NULL NULL NULL NULL float +NULL test tb2 f94 double NULL NULL NULL NULL double +NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb2 f101 date NULL NULL NULL NULL date +NULL test tb2 f102 time NULL NULL NULL NULL time +NULL test tb2 f103 datetime NULL NULL NULL NULL datetime +NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp +NULL test tb2 f105 year NULL NULL NULL NULL year(4) +NULL test tb2 f106 year NULL NULL NULL NULL year(4) +NULL test tb2 f107 year NULL NULL NULL NULL year(4) +1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test tb2 f110 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test tb2 f111 varbinary 27 27 NULL NULL varbinary(27) +1.0000 test tb2 f112 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test tb2 f113 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test tb2 f114 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test tb2 f115 varbinary 27 27 NULL NULL varbinary(27) +1.0000 test tb2 f116 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test tb2 f117 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1) +1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1) +1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext +1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text +1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext +2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext +1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob +1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob +1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob +1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob +1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1) +NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4) +NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned +NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill +NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6) +NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned +NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill +NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9) +NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned +NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill +NULL test tb3 f142 int NULL NULL NULL NULL int(11) +NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned +NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill +NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20) +NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned +NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill +NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0) +NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0) +NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30) +NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test tb4 f190 double NULL NULL NULL NULL double +NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f194 double NULL NULL NULL NULL double +NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f198 float NULL NULL NULL NULL float +NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f202 float NULL NULL NULL NULL float +NULL test tb4 f203 float NULL NULL NULL NULL float +NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f210 float NULL NULL NULL NULL float +NULL test tb4 f211 double NULL NULL NULL NULL double +NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned +NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned +NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test tb4 f218 date NULL NULL NULL NULL date +NULL test tb4 f219 time NULL NULL NULL NULL time +NULL test tb4 f220 datetime NULL NULL NULL NULL datetime +NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp +NULL test tb4 f222 year NULL NULL NULL NULL year(4) +NULL test tb4 f223 year NULL NULL NULL NULL year(4) +NULL test tb4 f224 year NULL NULL NULL NULL year(4) +1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test tb4 f227 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test tb4 f228 varbinary 27 27 NULL NULL varbinary(27) +1.0000 test tb4 f229 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test tb4 f230 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test tb4 f231 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test tb4 f232 varbinary 27 27 NULL NULL varbinary(27) +1.0000 test tb4 f233 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test tb4 f234 varbinary 192 192 NULL NULL varbinary(192) +2.0000 test tb4 f235 char 255 510 ucs2 ucs2_general_ci char(255) +1.0000 test tb4 f236 char 60 60 latin1 latin1_swedish_ci char(60) +1.0000 test tb4 f237 char 255 255 latin1 latin1_bin char(255) +NULL test tb4 f238 varchar 0 0 latin1 latin1_bin varchar(0) +1.0000 test tb4 f239 varbinary 1000 1000 NULL NULL varbinary(1000) +2.0000 test tb4 f240 varchar 120 240 ucs2 ucs2_general_ci varchar(120) +2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100) +NULL test tb4 f242 bit NULL NULL NULL NULL bit(30) +NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned +NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill +NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) +NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) +NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned +NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned +NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill +NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill +NULL test1 tb2 f73 double NULL NULL NULL NULL double +NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f77 double NULL NULL NULL NULL double +NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f81 float NULL NULL NULL NULL float +NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f85 float NULL NULL NULL NULL float +NULL test1 tb2 f86 float NULL NULL NULL NULL float +NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f93 float NULL NULL NULL NULL float +NULL test1 tb2 f94 double NULL NULL NULL NULL double +NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned +NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned +NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill +NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill +NULL test1 tb2 f101 date NULL NULL NULL NULL date +NULL test1 tb2 f102 time NULL NULL NULL NULL time +NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime +NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp +NULL test1 tb2 f105 year NULL NULL NULL NULL year(4) +NULL test1 tb2 f106 year NULL NULL NULL NULL year(4) +NULL test1 tb2 f107 year NULL NULL NULL NULL year(4) +1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') +1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') +1.0000 test1 tb2 f110 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test1 tb2 f111 varbinary 27 27 NULL NULL varbinary(27) +1.0000 test1 tb2 f112 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test1 tb2 f113 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test1 tb2 f114 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test1 tb2 f115 varbinary 27 27 NULL NULL varbinary(27) +1.0000 test1 tb2 f116 varbinary 64 64 NULL NULL varbinary(64) +1.0000 test1 tb2 f117 varbinary 192 192 NULL NULL varbinary(192) +1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f3 date NULL NULL NULL NULL date +NULL test4 t6 f4 int NULL NULL NULL NULL int(11) +1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f6 int NULL NULL NULL NULL int(11) +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 --git a/mysql-test/suite/funcs_1/r/is_columns_mysql.result b/mysql-test/suite/funcs_1/r/is_columns_mysql.result new file mode 100644 index 00000000000..75960091e90 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns_mysql.result @@ -0,0 +1,361 @@ +SELECT * FROM information_schema.columns +WHERE table_schema = 'mysql' +ORDER BY table_schema, table_name, column_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references +NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references +NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references +NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references +NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references +NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references +NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references +NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references +NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references +NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references +NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references +NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references +NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references +NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references +NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references +NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references +NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references +NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references +NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references +NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references +NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references +NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references +NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references +NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references +NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references +NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references +NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references +NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references +NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references +NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references +NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references +NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references +NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references +NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references +NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references +NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references +NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references +NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references +NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references +NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references +NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references +NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references +NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references +NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references +NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references +NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references +NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references +NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references +NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references +NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references +NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references +NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references +NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references +NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references +NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references +NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references +NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references +NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references +########################################################################## +# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH +########################################################################## +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema = 'mysql' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +1.0000 blob NULL NULL +1.0000 longblob NULL NULL +1.0000 char latin1 latin1_bin +1.0000 text utf8 utf8_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 table_schema = 'mysql' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +3.0000 char utf8 utf8_bin +3.0000 enum utf8 utf8_bin +3.0000 char utf8 utf8_general_ci +3.0000 enum utf8 utf8_general_ci +3.0000 set utf8 utf8_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 table_schema = 'mysql' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +NULL bigint NULL NULL +NULL int NULL NULL +NULL smallint NULL NULL +NULL timestamp NULL NULL +NULL tinyint NULL NULL +--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values +--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL +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 +WHERE table_schema = 'mysql' +ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; +COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE +3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60) +3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64) +3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16) +3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64) +3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64) +NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp +3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') +3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60) +3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64) +3.0000 mysql db User char 16 48 utf8 utf8_bin char(16) +3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) +NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) +3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) +3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate') +NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned +3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64) +NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned +3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128) +NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned +3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64) +NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned +3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64) +NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned +1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text +1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text +3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128) +3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60) +3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64) +3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64) +3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64) +3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') +3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64) +3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL') +3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') +3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO') +3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER') +1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob +3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64) +1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob +3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77) +NULL mysql proc created timestamp NULL NULL NULL NULL timestamp +NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp +3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') +3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64) +3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60) +3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64) +3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16) +3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64) +3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE') +3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77) +3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant') +NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp +3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60) +3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64) +3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16) +3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64) +3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77) +NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp +3.0000 mysql tables_priv Table_priv set 90 270 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') +3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') +NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned +3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N') +NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20) +NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11) +3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64) +NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20) +NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned +NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11) +NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned +3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8) +3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60) +3.0000 mysql user User char 16 48 utf8 utf8_bin char(16) +1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41) +3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') +3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') +1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob +1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob +1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob +NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned +NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned +NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned +NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned diff --git a/mysql-test/suite/funcs_1/r/is_columns_ndb.result b/mysql-test/suite/funcs_1/r/is_columns_ndb.result new file mode 100644 index 00000000000..a1a1e076271 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_columns_ndb.result @@ -0,0 +1,223 @@ +SET @NO_REFRESH = IF( '' = '', 0, 1); +DROP DATABASE IF EXISTS test1; +CREATE DATABASE test1; +USE test; +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 = ndb; +CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = ndb; +CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = ndb; +CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = ndb; +CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = ndb; +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 = ndb; +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 = ndb; +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 = ndb; +CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = ndb; +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 = ndb; +LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9; +SELECT * FROM information_schema.columns +WHERE table_schema LIKE 'test%' +ORDER BY table_schema, table_name, column_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT +NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references +NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references +NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references +NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references +########################################################################## +# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH +########################################################################## +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +1.0000 char latin1 latin1_swedish_ci +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1 +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +SELECT DISTINCT +CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, +DATA_TYPE, +CHARACTER_SET_NAME, +COLLATION_NAME +FROM information_schema.columns +WHERE table_schema LIKE 'test%' +AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL +ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; +COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME +NULL date NULL NULL +NULL int NULL NULL +--> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values +--> are 0, which is intended behavior, and the result of 0 / 0 IS NULL +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 +WHERE table_schema LIKE 'test%' +ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; +COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE +1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f3 date NULL NULL NULL NULL date +NULL test t1 f4 int NULL NULL NULL NULL int(11) +1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t1 f6 int NULL NULL NULL NULL int(11) +1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f3 date NULL NULL NULL NULL date +NULL test t10 f4 int NULL NULL NULL NULL int(11) +1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t10 f6 int NULL NULL NULL NULL int(11) +1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f3 date NULL NULL NULL NULL date +NULL test t11 f4 int NULL NULL NULL NULL int(11) +1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t11 f6 int NULL NULL NULL NULL int(11) +1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f3 date NULL NULL NULL NULL date +NULL test t2 f4 int NULL NULL NULL NULL int(11) +1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t2 f6 int NULL NULL NULL NULL int(11) +1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) +NULL test t3 f3 int NULL NULL NULL NULL int(11) +1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f3 date NULL NULL NULL NULL date +NULL test t4 f4 int NULL NULL NULL NULL int(11) +1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t4 f6 int NULL NULL NULL NULL int(11) +1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t7 f3 date NULL NULL NULL NULL date +NULL test t7 f4 int NULL NULL NULL NULL int(11) +1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t8 f3 date NULL NULL NULL NULL date +NULL test t8 f4 int NULL NULL NULL NULL int(11) +NULL test t9 f1 int NULL NULL NULL NULL int(11) +1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test t9 f3 int NULL NULL NULL NULL int(11) +1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) +1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f3 date NULL NULL NULL NULL date +NULL test4 t6 f4 int NULL NULL NULL NULL int(11) +1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) +NULL test4 t6 f6 int NULL NULL NULL NULL int(11) +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; diff --git a/mysql-test/suite/funcs_1/r/is_key_column_usage.result b/mysql-test/suite/funcs_1/r/is_key_column_usage.result new file mode 100644 index 00000000000..b4f222ff396 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_key_column_usage.result @@ -0,0 +1,370 @@ +SHOW TABLES FROM information_schema LIKE 'KEY_COLUMN_USAGE'; +Tables_in_information_schema (KEY_COLUMN_USAGE) +KEY_COLUMN_USAGE +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.KEY_COLUMN_USAGE; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.KEY_COLUMN_USAGE; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.KEY_COLUMN_USAGE; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.KEY_COLUMN_USAGE; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.7.1: INFORMATION_SCHEMA.KEY_COLUMN_USAGE layout +######################################################################### +DESCRIBE information_schema.KEY_COLUMN_USAGE; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(512) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +COLUMN_NAME varchar(64) NO +ORDINAL_POSITION bigint(10) NO 0 +POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL +REFERENCED_TABLE_SCHEMA varchar(64) YES NULL +REFERENCED_TABLE_NAME varchar(64) YES NULL +REFERENCED_COLUMN_NAME varchar(64) YES NULL +SHOW CREATE TABLE information_schema.KEY_COLUMN_USAGE; +Table Create Table +KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` ( + `CONSTRAINT_CATALOG` varchar(512) default NULL, + `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', + `CONSTRAINT_NAME` varchar(64) NOT NULL default '', + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `COLUMN_NAME` varchar(64) NOT NULL default '', + `ORDINAL_POSITION` bigint(10) NOT NULL default '0', + `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) default NULL, + `REFERENCED_TABLE_SCHEMA` varchar(64) default NULL, + `REFERENCED_TABLE_NAME` varchar(64) default NULL, + `REFERENCED_COLUMN_NAME` varchar(64) default NULL +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.KEY_COLUMN_USAGE; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(512) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +COLUMN_NAME varchar(64) NO +ORDINAL_POSITION bigint(10) NO 0 +POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL +REFERENCED_TABLE_SCHEMA varchar(64) YES NULL +REFERENCED_TABLE_NAME varchar(64) YES NULL +REFERENCED_COLUMN_NAME varchar(64) YES NULL +SELECT constraint_catalog, constraint_schema, constraint_name, table_catalog, +table_schema, table_name, column_name +FROM information_schema.key_column_usage +WHERE constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL; +constraint_catalog constraint_schema constraint_name table_catalog table_schema table_name column_name +######################################################################################## +# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information +######################################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +USE db_datadict; +CREATE TABLE t1_1 +(f1 INT NOT NULL, PRIMARY KEY(f1), +f2 INT, INDEX f2_ind(f2)) +ENGINE = <engine_type>; +GRANT SELECT ON t1_1 to 'testuser1'@'localhost'; +CREATE TABLE t1_2 +(f1 INT NOT NULL, PRIMARY KEY(f1), +f2 INT, INDEX f2_ind(f2)) +ENGINE = <engine_type>; +GRANT SELECT ON t1_2 to 'testuser2'@'localhost'; +SELECT * FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_%' +ORDER BY constraint_catalog, constraint_schema, constraint_name, +table_catalog, table_schema, table_name, ordinal_position; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME +NULL db_datadict PRIMARY NULL db_datadict t1_1 f1 1 NULL NULL NULL NULL +NULL db_datadict PRIMARY NULL db_datadict t1_2 f1 1 NULL NULL NULL NULL +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_%' +ORDER BY constraint_catalog, constraint_schema, constraint_name, +table_catalog, table_schema, table_name, ordinal_position; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME +NULL db_datadict PRIMARY NULL db_datadict t1_1 f1 1 NULL NULL NULL NULL +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_%' +ORDER BY constraint_catalog, constraint_schema, constraint_name, +table_catalog, table_schema, table_name, ordinal_position; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME +NULL db_datadict PRIMARY NULL db_datadict t1_2 f1 1 NULL NULL NULL NULL +# Switch to connection default and close connections testuser1, testuser2 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP TABLE t1_1; +DROP TABLE t1_2; +DROP DATABASE IF EXISTS db_datadict; +######################################################################################## +# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.KEY_COLUMN_USAGE modifications +######################################################################################## +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS test.t1_my_table; +CREATE DATABASE db_datadict; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +table_name +CREATE TABLE test.t1_my_table +(f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = <engine_type>; +SELECT * FROM information_schema.key_column_usage +WHERE table_name = 't1_my_table'; +CONSTRAINT_CATALOG NULL +CONSTRAINT_SCHEMA test +CONSTRAINT_NAME PRIMARY +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_table +COLUMN_NAME f1 +ORDINAL_POSITION 1 +POSITION_IN_UNIQUE_CONSTRAINT NULL +REFERENCED_TABLE_SCHEMA NULL +REFERENCED_TABLE_NAME NULL +REFERENCED_COLUMN_NAME NULL +CONSTRAINT_CATALOG NULL +CONSTRAINT_SCHEMA test +CONSTRAINT_NAME PRIMARY +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_table +COLUMN_NAME f2 +ORDINAL_POSITION 2 +POSITION_IN_UNIQUE_CONSTRAINT NULL +REFERENCED_TABLE_SCHEMA NULL +REFERENCED_TABLE_NAME NULL +REFERENCED_COLUMN_NAME NULL +SELECT DISTINCT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_table +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT DISTINCT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_tablex +SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_schema table_name +test t1_my_tablex +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_schema table_name +db_datadict t1_my_tablex +SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +table_name column_name +t1_my_tablex f1 +t1_my_tablex f2 +ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12); +SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +table_name column_name +t1_my_tablex f2 +t1_my_tablex first_col +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2); +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +DROP INDEX f2 ON db_datadict.t1_my_tablex; +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2); +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict f2 db_datadict t1_my_tablex f2 1 +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +DROP INDEX f2 ON db_datadict.t1_my_tablex; +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2); +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict my_idx db_datadict t1_my_tablex f2 1 +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +DROP INDEX my_idx ON db_datadict.t1_my_tablex; +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,first_col); +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict my_idx db_datadict t1_my_tablex f4 1 +db_datadict my_idx db_datadict t1_my_tablex first_col 2 +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict my_idx db_datadict t1_my_tablex f4 1 +db_datadict my_idx db_datadict t1_my_tablex first_col 2 +db_datadict PRIMARY db_datadict t1_my_tablex first_col 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 2 +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN first_col; +SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, +table_name, ordinal_position; +constraint_schema constraint_name table_schema table_name column_name ordinal_position +db_datadict my_idx db_datadict t1_my_tablex f4 1 +db_datadict PRIMARY db_datadict t1_my_tablex f2 1 +SELECT table_name, column_name +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +table_name column_name +t1_my_tablex f2 +t1_my_tablex f4 +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name, column_name +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_name column_name +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_name +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = <engine_type> AS +SELECT 1 AS f1; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_name +ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1); +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +table_name +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS db_datadict.t1; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = <engine_type>; +INSERT INTO information_schema.key_column_usage +(constraint_schema, constraint_name, table_name) +VALUES ( 'mysql', 'primary', 'db'); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +INSERT INTO information_schema.key_column_usage +SELECT * FROM information_schema.key_column_usage; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.key_column_usage +SET table_name = 'db1' WHERE constraint_name = 'primary'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.key_column_usage WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.key_column_usage; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX i3 ON information_schema.key_column_usage(table_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.key_column_usage ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.key_column_usage; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.key_column_usage +RENAME db_datadict.key_column_usage; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.key_column_usage +RENAME information_schema.xkey_column_usage; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE db_datadict.t1; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_routines.result b/mysql-test/suite/funcs_1/r/is_routines.result new file mode 100644 index 00000000000..497ebf946c0 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_routines.result @@ -0,0 +1,605 @@ +SHOW TABLES FROM information_schema LIKE 'ROUTINES'; +Tables_in_information_schema (ROUTINES) +ROUTINES +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.ROUTINES; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.ROUTINES; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.ROUTINES; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.ROUTINES; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.8.1: INFORMATION_SCHEMA.ROUTINES layout +######################################################################### +DESCRIBE information_schema.ROUTINES; +Field Type Null Key Default Extra +SPECIFIC_NAME varchar(64) NO +ROUTINE_CATALOG varchar(512) YES NULL +ROUTINE_SCHEMA varchar(64) NO +ROUTINE_NAME varchar(64) NO +ROUTINE_TYPE varchar(9) NO +DTD_IDENTIFIER varchar(64) YES NULL +ROUTINE_BODY varchar(8) NO +ROUTINE_DEFINITION longtext YES NULL +EXTERNAL_NAME varchar(64) YES NULL +EXTERNAL_LANGUAGE varchar(64) YES NULL +PARAMETER_STYLE varchar(8) NO +IS_DETERMINISTIC varchar(3) NO +SQL_DATA_ACCESS varchar(64) NO +SQL_PATH varchar(64) YES NULL +SECURITY_TYPE varchar(7) NO +CREATED datetime NO 0000-00-00 00:00:00 +LAST_ALTERED datetime NO 0000-00-00 00:00:00 +SQL_MODE longtext NO NULL +ROUTINE_COMMENT varchar(64) NO +DEFINER varchar(77) NO +SHOW CREATE TABLE information_schema.ROUTINES; +Table Create Table +ROUTINES CREATE TEMPORARY TABLE `ROUTINES` ( + `SPECIFIC_NAME` varchar(64) NOT NULL default '', + `ROUTINE_CATALOG` varchar(512) default NULL, + `ROUTINE_SCHEMA` varchar(64) NOT NULL default '', + `ROUTINE_NAME` varchar(64) NOT NULL default '', + `ROUTINE_TYPE` varchar(9) NOT NULL default '', + `DTD_IDENTIFIER` varchar(64) default NULL, + `ROUTINE_BODY` varchar(8) NOT NULL default '', + `ROUTINE_DEFINITION` longtext, + `EXTERNAL_NAME` varchar(64) default NULL, + `EXTERNAL_LANGUAGE` varchar(64) default NULL, + `PARAMETER_STYLE` varchar(8) NOT NULL default '', + `IS_DETERMINISTIC` varchar(3) NOT NULL default '', + `SQL_DATA_ACCESS` varchar(64) NOT NULL default '', + `SQL_PATH` varchar(64) default NULL, + `SECURITY_TYPE` varchar(7) NOT NULL default '', + `CREATED` datetime NOT NULL default '0000-00-00 00:00:00', + `LAST_ALTERED` datetime NOT NULL default '0000-00-00 00:00:00', + `SQL_MODE` longtext NOT NULL, + `ROUTINE_COMMENT` varchar(64) NOT NULL default '', + `DEFINER` varchar(77) NOT NULL default '' +) ENGINE=MyISAM DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.ROUTINES; +Field Type Null Key Default Extra +SPECIFIC_NAME varchar(64) NO +ROUTINE_CATALOG varchar(512) YES NULL +ROUTINE_SCHEMA varchar(64) NO +ROUTINE_NAME varchar(64) NO +ROUTINE_TYPE varchar(9) NO +DTD_IDENTIFIER varchar(64) YES NULL +ROUTINE_BODY varchar(8) NO +ROUTINE_DEFINITION longtext YES NULL +EXTERNAL_NAME varchar(64) YES NULL +EXTERNAL_LANGUAGE varchar(64) YES NULL +PARAMETER_STYLE varchar(8) NO +IS_DETERMINISTIC varchar(3) NO +SQL_DATA_ACCESS varchar(64) NO +SQL_PATH varchar(64) YES NULL +SECURITY_TYPE varchar(7) NO +CREATED datetime NO 0000-00-00 00:00:00 +LAST_ALTERED datetime NO 0000-00-00 00:00:00 +SQL_MODE longtext NO NULL +ROUTINE_COMMENT varchar(64) NO +DEFINER varchar(77) NO +USE test; +DROP PROCEDURE IF EXISTS sp_for_routines; +DROP FUNCTION IF EXISTS function_for_routines; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +SELECT specific_name,routine_catalog,routine_schema,routine_name,routine_type, +routine_body,external_name,external_language,parameter_style,sql_path +FROM information_schema.routines +WHERE routine_catalog IS NOT NULL OR external_name IS NOT NULL +OR external_language IS NOT NULL OR sql_path IS NOT NULL +OR routine_body <> 'SQL' OR parameter_style <> 'SQL' + OR specific_name <> routine_name; +specific_name routine_catalog routine_schema routine_name routine_type routine_body external_name external_language parameter_style sql_path +DROP PROCEDURE sp_for_routines; +DROP FUNCTION function_for_routines; +################################################################################ +# Testcase 3.2.8.2 + 3.2.8.3: INFORMATION_SCHEMA.ROUTINES accessible information +################################################################################ +DROP DATABASE IF EXISTS db_datadict; +DROP DATABASE IF EXISTS db_datadict_2; +CREATE DATABASE db_datadict; +USE db_datadict; +CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT) +ENGINE = <other_engine_type>; +INSERT INTO res_6_408002_1(f1, f2, f3, f4) +VALUES('abc', 'xyz', '1989-11-09', 0815); +DROP PROCEDURE IF EXISTS sp_6_408002_1; +CREATE PROCEDURE sp_6_408002_1() +BEGIN +SELECT * FROM db_datadict.res_6_408002_1; +END// +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) +ENGINE = <other_engine_type>; +INSERT INTO res_6_408002_2(f1, f2, f3, f4) +VALUES('abc', 'xyz', '1990-10-03', 4711); +DROP PROCEDURE IF EXISTS sp_6_408002_2; +CREATE PROCEDURE sp_6_408002_2() +BEGIN +SELECT * FROM db_datadict_2.res_6_408002_2; +END// +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +GRANT SELECT ON db_datadict_2.* TO 'testuser1'@'localhost'; +GRANT EXECUTE ON db_datadict_2.* TO 'testuser1'@'localhost'; +GRANT EXECUTE ON db_datadict.* TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser2'@'localhost'; +GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 +TO 'testuser2'@'localhost'; +GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost'; +FLUSH PRIVILEGES; +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.routines; +SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER +sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost +sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.routines; +SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER +sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost +# Establish connection testuser3 (user=testuser3) +SELECT * FROM information_schema.routines; +SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER +# Switch to connection default and close connections testuser1,testuser2,testuser3 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +USE test; +DROP DATABASE db_datadict; +DROP DATABASE db_datadict_2; +######################################################################### +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.ROUTINES modifications +######################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; +SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER +USE db_datadict; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +SPECIFIC_NAME function_for_routines +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME function_for_routines +ROUTINE_TYPE FUNCTION +DTD_IDENTIFIER int(11) +ROUTINE_BODY SQL +ROUTINE_DEFINITION RETURN 0 +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED <created> +LAST_ALTERED <modified> +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +SPECIFIC_NAME sp_for_routines +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME sp_for_routines +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION SELECT 'db_datadict' +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED <created> +LAST_ALTERED <modified> +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +ALTER PROCEDURE sp_for_routines SQL SECURITY INVOKER; +ALTER FUNCTION function_for_routines COMMENT 'updated comments'; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +SPECIFIC_NAME function_for_routines +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME function_for_routines +ROUTINE_TYPE FUNCTION +DTD_IDENTIFIER int(11) +ROUTINE_BODY SQL +ROUTINE_DEFINITION RETURN 0 +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED <created> +LAST_ALTERED <modified> +SQL_MODE +ROUTINE_COMMENT updated comments +DEFINER root@localhost +SPECIFIC_NAME sp_for_routines +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME sp_for_routines +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION SELECT 'db_datadict' +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE INVOKER +CREATED <created> +LAST_ALTERED <modified> +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +DROP PROCEDURE sp_for_routines; +DROP FUNCTION function_for_routines; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; +SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +SPECIFIC_NAME function_for_routines +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME function_for_routines +ROUTINE_TYPE FUNCTION +DTD_IDENTIFIER int(11) +ROUTINE_BODY SQL +ROUTINE_DEFINITION RETURN 0 +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED <created> +LAST_ALTERED <modified> +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +SPECIFIC_NAME sp_for_routines +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME sp_for_routines +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION SELECT 'db_datadict' +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED <created> +LAST_ALTERED <modified> +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +use test; +DROP DATABASE db_datadict; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; +SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER +######################################################################### +# 3.2.8.4: INFORMATION_SCHEMA.ROUTINES routine body too big for +# ROUTINE_DEFINITION column +######################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +USE db_datadict; +CREATE TABLE db_datadict.res_6_408004_1 +(f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR) +ENGINE = <other_engine_type>; +INSERT INTO db_datadict.res_6_408004_1 +VALUES ('abc', 98765 , 99999999 , 98765, 10); +CREATE TABLE db_datadict.res_6_408004_2 +(f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR) +ENGINE = <other_engine_type>; +INSERT INTO db_datadict.res_6_408004_2 +VALUES ('abc', 98765 , 99999999 , 98765, 10); +# Checking the max. possible length of (currently) 4 GByte is not +# in this environment here. +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// +CALL db_datadict.sp_6_408004 (); +@a +test row +@a +test row +@a +test row +@a +test row +@a +test row +@a +test row +SELECT * FROM db_datadict.res_6_408004_2; +f1 f2 f3 f4 f5 +abc 98765 99999999 98765 2010 +abc 98765 99999999 98765 2010 +abc 98765 99999999 98765 2010 +abc 98765 99999999 98765 2010 +abc 98765 99999999 98765 2010 +abc 98765 99999999 98765 2010 +SELECT *, LENGTH(routine_definition) FROM information_schema.routines +WHERE routine_schema = 'db_datadict'; +SPECIFIC_NAME sp_6_408004 +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA db_datadict +ROUTINE_NAME sp_6_408004 +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION 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 +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED YYYY-MM-DD hh:mm:ss +LAST_ALTERED YYYY-MM-DD hh:mm:ss +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +LENGTH(routine_definition) 2549 +DROP DATABASE db_datadict; +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +USE db_datadict; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +USE test; +INSERT INTO information_schema.routines (routine_name, routine_type ) +VALUES ('p2', 'procedure'); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.routines SET routine_name = 'p2' +WHERE routine_body = 'sql'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.routines ; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.routines ; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX i7 ON information_schema.routines (routine_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.routines ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.routines DISCARD TABLESPACE; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.routines ; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.routines RENAME db_datadict.routines; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.routines RENAME information_schema.xroutines; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_schema_privileges.result b/mysql-test/suite/funcs_1/r/is_schema_privileges.result new file mode 100644 index 00000000000..b99ef8dd684 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_schema_privileges.result @@ -0,0 +1,304 @@ +SHOW TABLES FROM information_schema LIKE 'SCHEMA_PRIVILEGES'; +Tables_in_information_schema (SCHEMA_PRIVILEGES) +SCHEMA_PRIVILEGES +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.SCHEMA_PRIVILEGES; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.SCHEMA_PRIVILEGES; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.SCHEMA_PRIVILEGES; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.SCHEMA_PRIVILEGES; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.15.1: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES layout +######################################################################### +DESCRIBE information_schema.SCHEMA_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SHOW CREATE TABLE information_schema.SCHEMA_PRIVILEGES; +Table Create Table +SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` ( + `GRANTEE` varchar(81) NOT NULL default '', + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', + `IS_GRANTABLE` varchar(3) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.SCHEMA_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SELECT GRANTEE, TABLE_CATALOG, TABLE_SCHEMA, PRIVILEGE_TYPE +FROM information_schema.schema_privileges WHERE table_catalog IS NOT NULL; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE +############################################################################### +# Testcase 3.2.15.2-3.2.15.4 INFORMATION_SCHEMA.SCHEMA_PRIVILEGES accessibility +############################################################################### +DROP DATABASE IF EXISTS db_datadict_1; +DROP DATABASE IF EXISTS db_datadict_2; +DROP DATABASE IF EXISTS db_datadict_3; +CREATE DATABASE db_datadict_1; +CREATE DATABASE db_datadict_2; +CREATE DATABASE db_datadict_3; +CREATE TABLE db_datadict_2.t1(f1 INT, f2 INT, f3 INT) +ENGINE = MEMORY; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +GRANT INSERT ON db_datadict_1.* TO 'testuser1'@'localhost'; +GRANT INSERT ON db_datadict_2.t1 TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict_4.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT ON db_datadict_3.* TO 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict_1.* TO 'testuser2'@'localhost'; +# Establish connection testuser1 (user=testuser1) +GRANT SELECT ON db_datadict_4.* TO 'testuser2'@'localhost'; +# Root granted INSERT db_datadict_1 to me -> visible +# Root granted SELECT db_datadict_1 to testuser2 -> invisible +# Root granted INSERT db_datadict_2.t1 (no schema-level priv!) +# but not db_datadict_2 to me -> invisible +# Root granted SELECT db_datadict_3. to testuser2 but not to me -> invisible +# Root granted SELECT db_datadict_4. to me -> visible +# I granted SELECT db_datadict_4. to testuser2 -> invisible (reality), visible(requirement) +# FIXME +SELECT * FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_datadict%' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict_1 INSERT NO +'testuser1'@'localhost' NULL db_datadict_4 SELECT YES +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT INSERT ON `db_datadict_1`.* TO 'testuser1'@'localhost' +GRANT SELECT ON `db_datadict_4`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT INSERT ON `db_datadict_2`.`t1` TO 'testuser1'@'localhost' +SHOW GRANTS FOR 'testuser2'@'localhost'; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'mysql' +# Establish connection testuser2 (user=testuser2) +# Root granted SELECT db_datadict_1 to me -> visible +# Root granted INSERT db_datadict_1 to testuser1 -> invisible +# Root granted INSERT db_datadict_2.t1 but not db_datadict_1 to testuser1 -> invisible +# Root granted SELECT db_datadict_3. to me -> visible +# testuser1 granted SELECT db_datadict_4. to me -> visible +SELECT * FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_datadict%' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser2'@'localhost' NULL db_datadict_1 SELECT NO +'testuser2'@'localhost' NULL db_datadict_3 SELECT NO +'testuser2'@'localhost' NULL db_datadict_4 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql' +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +GRANT SELECT ON `db_datadict_3`.* TO 'testuser2'@'localhost' +GRANT SELECT ON `db_datadict_1`.* TO 'testuser2'@'localhost' +GRANT SELECT ON `db_datadict_4`.* TO 'testuser2'@'localhost' +# Switch to connection default and close connections testuser1 and testuser2 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_datadict%' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict_1 INSERT NO +'testuser1'@'localhost' NULL db_datadict_4 SELECT YES +'testuser2'@'localhost' NULL db_datadict_1 SELECT NO +'testuser2'@'localhost' NULL db_datadict_3 SELECT NO +'testuser2'@'localhost' NULL db_datadict_4 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT INSERT ON `db_datadict_1`.* TO 'testuser1'@'localhost' +GRANT SELECT ON `db_datadict_4`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT INSERT ON `db_datadict_2`.`t1` TO 'testuser1'@'localhost' +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +GRANT SELECT ON `db_datadict_3`.* TO 'testuser2'@'localhost' +GRANT SELECT ON `db_datadict_1`.* TO 'testuser2'@'localhost' +GRANT SELECT ON `db_datadict_4`.* TO 'testuser2'@'localhost' +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE db_datadict_1; +DROP DATABASE db_datadict_2; +DROP DATABASE db_datadict_3; +################################################################################ +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES modifications +################################################################################ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'the_user'@'localhost'; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON test.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +# Switch to connection default +GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict UPDATE NO +# Switch to connection testuser1 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict UPDATE NO +# Switch to connection default +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT NO +'testuser1'@'localhost' NULL db_datadict UPDATE NO +# Switch to connection testuser1 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT NO +'testuser1'@'localhost' NULL db_datadict UPDATE NO +# Switch to connection default +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT YES +'testuser1'@'localhost' NULL db_datadict UPDATE YES +# Switch to connection testuser1 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT YES +'testuser1'@'localhost' NULL db_datadict UPDATE YES +# Switch to connection default +DROP SCHEMA db_datadict; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT YES +'testuser1'@'localhost' NULL db_datadict UPDATE YES +# Switch to connection testuser1 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT YES +'testuser1'@'localhost' NULL db_datadict UPDATE YES +# Switch to connection default +REVOKE UPDATE ON db_datadict.* FROM 'testuser1'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT YES +# Switch to connection testuser1 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict SELECT YES +# Switch to connection default +RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'the_user'@'localhost' NULL db_datadict SELECT YES +# Switch to connection testuser1 +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'the_user'@'localhost' NULL db_datadict SELECT YES +# Close connection testuser1 +# Establish connection the_user (user=the_user) +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'the_user'@'localhost' NULL db_datadict SELECT YES +# Close connection the_user +# Switch to connection default +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +'the_user'@'localhost' NULL db_datadict SELECT YES +DROP USER 'the_user'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT) +ENGINE = <engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +INSERT INTO information_schema.schema_privileges +SELECT * FROM information_schema.schema_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.schema_privileges SET table_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.schema_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_tables +ON information_schema.schema_privileges(table_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.schema_privileges ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.schema_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.schema_privileges +RENAME db_datadict.schema_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.schema_privileges +RENAME information_schema.xschema_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; diff --git a/mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result new file mode 100644 index 00000000000..36f365a6054 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result @@ -0,0 +1,51 @@ +############################################################################## +# Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information +############################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema IN ('information_schema','mysql','test') +ORDER BY grantee, table_schema, privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +''@'%' NULL test ALTER NO +''@'%' NULL test CREATE NO +''@'%' NULL test CREATE ROUTINE NO +''@'%' NULL test CREATE TEMPORARY TABLES NO +''@'%' NULL test CREATE VIEW NO +''@'%' NULL test DELETE NO +''@'%' NULL test DROP NO +''@'%' NULL test INDEX NO +''@'%' NULL test INSERT NO +''@'%' NULL test LOCK TABLES NO +''@'%' NULL test REFERENCES NO +''@'%' NULL test SELECT NO +''@'%' NULL test SHOW VIEW NO +''@'%' NULL test UPDATE NO +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +SHOW DATABASES LIKE 'mysql'; +Database (mysql) +mysql +SHOW DATABASES LIKE 'test'; +Database (test) +test +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.schema_privileges +WHERE table_schema IN ('information_schema','mysql','test') +ORDER BY grantee, table_schema, privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +SHOW DATABASES LIKE 'mysql'; +Database (mysql) +SHOW DATABASES LIKE 'test'; +Database (test) +test +# Switch to connection default and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_schemata.result b/mysql-test/suite/funcs_1/r/is_schemata.result new file mode 100644 index 00000000000..7230e967cf0 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_schemata.result @@ -0,0 +1,181 @@ +SHOW TABLES FROM information_schema LIKE 'SCHEMATA'; +Tables_in_information_schema (SCHEMATA) +SCHEMATA +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.SCHEMATA; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.SCHEMATA; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.SCHEMATA; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.SCHEMATA; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.9.1: INFORMATION_SCHEMA.SCHEMATA layout; +######################################################################### +DESCRIBE information_schema.SCHEMATA; +Field Type Null Key Default Extra +CATALOG_NAME varchar(512) YES NULL +SCHEMA_NAME varchar(64) NO +DEFAULT_CHARACTER_SET_NAME varchar(64) NO +DEFAULT_COLLATION_NAME varchar(64) NO +SQL_PATH varchar(512) YES NULL +SHOW CREATE TABLE information_schema.SCHEMATA; +Table Create Table +SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` ( + `CATALOG_NAME` varchar(512) default NULL, + `SCHEMA_NAME` varchar(64) NOT NULL default '', + `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL default '', + `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL default '', + `SQL_PATH` varchar(512) default NULL +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.SCHEMATA; +Field Type Null Key Default Extra +CATALOG_NAME varchar(512) YES NULL +SCHEMA_NAME varchar(64) NO +DEFAULT_CHARACTER_SET_NAME varchar(64) NO +DEFAULT_COLLATION_NAME varchar(64) NO +SQL_PATH varchar(512) YES NULL +SELECT catalog_name, schema_name, sql_path +FROM information_schema.schemata +WHERE catalog_name IS NOT NULL or sql_path IS NOT NULL; +catalog_name schema_name sql_path +############################################################################### +# Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information +############################################################################### +DROP DATABASE IF EXISTS db_datadict_1; +DROP DATABASE IF EXISTS db_datadict_2; +CREATE DATABASE db_datadict_1; +CREATE DATABASE db_datadict_2; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +GRANT SELECT ON db_datadict_1.* to 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict_1.* to 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict_2.* to 'testuser2'@'localhost'; +SELECT * FROM information_schema.schemata +WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +NULL db_datadict_1 latin1 latin1_swedish_ci NULL +NULL db_datadict_2 latin1 latin1_swedish_ci NULL +SHOW DATABASES LIKE 'db_datadict_%'; +Database (db_datadict_%) +db_datadict_1 +db_datadict_2 +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.schemata +WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +NULL db_datadict_1 latin1 latin1_swedish_ci NULL +SHOW DATABASES LIKE 'db_datadict_%'; +Database (db_datadict_%) +db_datadict_1 +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.schemata +WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +NULL db_datadict_1 latin1 latin1_swedish_ci NULL +NULL db_datadict_2 latin1 latin1_swedish_ci NULL +SHOW DATABASES LIKE 'db_datadict_%'; +Database (db_datadict_%) +db_datadict_1 +db_datadict_2 +# Establish connection testuser3 (user=testuser3) +SELECT * FROM information_schema.schemata +WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +SHOW DATABASES LIKE 'db_datadict_%'; +Database (db_datadict_%) +# Switch to connection default and close connections testuser1,testuser2,testuser3 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict_1; +DROP DATABASE db_datadict_2; +################################################################################# +# Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMATA modifications +################################################################################# +DROP DATABASE IF EXISTS db_datadict; +SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; +SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +NULL db_datadict latin1 latin1_swedish_ci NULL +SELECT schema_name, default_character_set_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +schema_name default_character_set_name +db_datadict latin1 +ALTER SCHEMA db_datadict CHARACTER SET 'utf8'; +SELECT schema_name, default_character_set_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +schema_name default_character_set_name +db_datadict utf8 +ALTER SCHEMA db_datadict CHARACTER SET 'latin1'; +SELECT schema_name, default_collation_name FROM information_schema.schemata +WHERE schema_name = 'db_datadict'; +schema_name default_collation_name +db_datadict latin1_swedish_ci +ALTER SCHEMA db_datadict COLLATE 'latin1_general_cs'; +SELECT schema_name, default_collation_name FROM information_schema.schemata +WHERE schema_name = 'db_datadict'; +schema_name default_collation_name +db_datadict latin1_general_cs +SELECT schema_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +schema_name +db_datadict +DROP DATABASE db_datadict; +SELECT schema_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +schema_name +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; +INSERT INTO information_schema.schemata +(catalog_name, schema_name, default_character_set_name, sql_path) +VALUES (NULL, 'db1', 'latin1', NULL); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +INSERT INTO information_schema.schemata +SELECT * FROM information_schema.schemata; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.schemata +SET default_character_set_name = 'utf8' +WHERE schema_name = 'db_datadict'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.schemata SET catalog_name = 't_4711'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.schemata; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX i1 ON information_schema.schemata(schema_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.schemata ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.schemata; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.schemata RENAME information_schema.xschemata; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result b/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result new file mode 100644 index 00000000000..05ea3a79aa3 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result @@ -0,0 +1,42 @@ +################################################################################# +# Testcases 3.2.9.2 + 3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information +################################################################################# +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.schemata +WHERE schema_name IN ('information_schema','mysql','test') +ORDER BY schema_name; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +NULL information_schema utf8 utf8_general_ci NULL +NULL mysql latin1 latin1_swedish_ci NULL +NULL test latin1 latin1_swedish_ci NULL +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +SHOW DATABASES LIKE 'mysql'; +Database (mysql) +mysql +SHOW DATABASES LIKE 'test'; +Database (test) +test +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.schemata +WHERE schema_name IN ('information_schema','mysql','test') +ORDER BY schema_name; +CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH +NULL information_schema utf8 utf8_general_ci NULL +NULL test latin1 latin1_swedish_ci NULL +SHOW DATABASES LIKE 'information_schema'; +Database (information_schema) +information_schema +SHOW DATABASES LIKE 'mysql'; +Database (mysql) +SHOW DATABASES LIKE 'test'; +Database (test) +test +# Switch to connection default and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_statistics.result b/mysql-test/suite/funcs_1/r/is_statistics.result new file mode 100644 index 00000000000..b2ca2fb2cb7 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_statistics.result @@ -0,0 +1,352 @@ +SHOW TABLES FROM information_schema LIKE 'STATISTICS'; +Tables_in_information_schema (STATISTICS) +STATISTICS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.STATISTICS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.STATISTICS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.STATISTICS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.STATISTICS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.14.1: INFORMATION_SCHEMA.STATISTICS layout +######################################################################### +DESCRIBE information_schema.STATISTICS; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +NON_UNIQUE bigint(1) NO 0 +INDEX_SCHEMA varchar(64) NO +INDEX_NAME varchar(64) NO +SEQ_IN_INDEX bigint(2) NO 0 +COLUMN_NAME varchar(64) NO +COLLATION varchar(1) YES NULL +CARDINALITY bigint(21) YES NULL +SUB_PART bigint(3) YES NULL +PACKED varchar(10) YES NULL +NULLABLE varchar(3) NO +INDEX_TYPE varchar(16) NO +COMMENT varchar(16) YES NULL +SHOW CREATE TABLE information_schema.STATISTICS; +Table Create Table +STATISTICS CREATE TEMPORARY TABLE `STATISTICS` ( + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `NON_UNIQUE` bigint(1) NOT NULL default '0', + `INDEX_SCHEMA` varchar(64) NOT NULL default '', + `INDEX_NAME` varchar(64) NOT NULL default '', + `SEQ_IN_INDEX` bigint(2) NOT NULL default '0', + `COLUMN_NAME` varchar(64) NOT NULL default '', + `COLLATION` varchar(1) default NULL, + `CARDINALITY` bigint(21) default NULL, + `SUB_PART` bigint(3) default NULL, + `PACKED` varchar(10) default NULL, + `NULLABLE` varchar(3) NOT NULL default '', + `INDEX_TYPE` varchar(16) NOT NULL default '', + `COMMENT` varchar(16) default NULL +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.STATISTICS; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +NON_UNIQUE bigint(1) NO 0 +INDEX_SCHEMA varchar(64) NO +INDEX_NAME varchar(64) NO +SEQ_IN_INDEX bigint(2) NO 0 +COLUMN_NAME varchar(64) NO +COLLATION varchar(1) YES NULL +CARDINALITY bigint(21) YES NULL +SUB_PART bigint(3) YES NULL +PACKED varchar(10) YES NULL +NULLABLE varchar(3) NO +INDEX_TYPE varchar(16) NO +COMMENT varchar(16) YES NULL +SELECT table_catalog, table_schema, table_name, index_schema, index_name +FROM information_schema.statistics WHERE table_catalog IS NOT NULL; +table_catalog table_schema table_name index_schema index_name +#################################################################################### +# Testcase 3.2.14.2 + 3.2.14.3: INFORMATION_SCHEMA.STATISTICS accessible information +#################################################################################### +DROP DATABASE IF EXISTS db_datadict; +DROP DATABASE IF EXISTS db_datadict_2; +CREATE DATABASE db_datadict; +CREATE DATABASE db_datadict_2; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +CREATE TABLE db_datadict.t1 +(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2)) +ENGINE = <engine_type>; +CREATE TABLE db_datadict.t2 +(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2)) +ENGINE = <engine_type>; +CREATE TABLE db_datadict_2.t3 +(f1 INT NOT NULL, f2 INT, f5 DATE, +PRIMARY KEY(f1), INDEX f2f1_ind(f2,f1), UNIQUE(f5)) +ENGINE = MEMORY; +CREATE TABLE db_datadict_2.t4 +(f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2)) +ENGINE = MEMORY; +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH +NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +SHOW GRANTS FOR 'testuser2'@'localhost'; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'mysql' +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 +SHOW GRANTS FOR 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql' +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +# Switch to connection default +GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT(f1,f5) ON db_datadict_2.t3 TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict t2 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict t2 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH +NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t4 1 db_datadict_2 f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict_2 t4 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost' +GRANT SELECT ON `db_datadict`.`t1` TO 'testuser1'@'localhost' WITH GRANT OPTION +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 db_datadict t1 1 db_datadict f2_ind 1 f2 NULL 0 NULL NULL YES HASH +NULL db_datadict t1 0 db_datadict PRIMARY 1 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH +NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost' +GRANT SELECT ON `db_datadict`.`t1` TO 'testuser1'@'localhost' WITH GRANT OPTION +SHOW GRANTS FOR 'testuser2'@'localhost'; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'mysql' +# Switch to connection testuser2 +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 +SHOW GRANTS FOR 'testuser1'@'localhost'; +ERROR 42000: Access denied for user 'testuser2'@'localhost' to database 'mysql' +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +# Switch to connection default +REVOKE SELECT,GRANT OPTION ON db_datadict.t1 FROM 'testuser1'@'localhost'; +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost' +# Switch to connection testuser1 +SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 db_datadict_2 t3 1 db_datadict_2 f2f1_ind 1 f2 NULL NULL NULL NULL YES HASH +NULL db_datadict_2 t3 1 db_datadict_2 f2f1_ind 2 f1 NULL 0 NULL NULL HASH +NULL db_datadict_2 t3 0 db_datadict_2 f5 1 f5 NULL 0 NULL NULL YES HASH +NULL db_datadict_2 t3 0 db_datadict_2 PRIMARY 1 f1 NULL 0 NULL NULL HASH +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT (f5, f1) ON `db_datadict_2`.`t3` TO 'testuser1'@'localhost' +# Switch to connection default and close connections testuser1, testuser2 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE db_datadict; +DROP DATABASE db_datadict_2; +######################################################################### +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.STATISTICS modifications +######################################################################### +DROP TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE test.t1_1 (f1 BIGINT, +f2 TEXT, f2x TEXT, f3 CHAR(10), f3x CHAR(10), f4 BIGINT, f4x BIGINT, +f5 POINT, f5x POINT NOT NULL) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = <other_engine_type>; +CREATE TABLE test.t1_2 (f1 BIGINT, f2 BIGINT) +ENGINE = <engine_type>; +SELECT table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_%'; +table_name +ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1,f3); +SELECT * FROM information_schema.statistics +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 test t1_1 0 test PRIMARY 1 f1 A NULL NULL NULL BTREE +NULL test t1_1 0 test PRIMARY 2 f3 A 0 NULL NULL BTREE +ALTER TABLE test.t1_1 DROP PRIMARY KEY; +SELECT table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_%'; +table_name +ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1); +SELECT * FROM information_schema.statistics +WHERE table_name LIKE 't1_%'; +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 test t1_1 0 test PRIMARY 1 f1 A 0 NULL NULL BTREE +ALTER TABLE test.t1_1 ADD INDEX (f4); +CREATE INDEX f3_f1 ON test.t1_1 (f3,f1); +CREATE UNIQUE INDEX f4x_uni ON test.t1_1 (f4x); +CREATE INDEX f2_hash USING HASH ON test.t1_2 (f2); +CREATE INDEX f1_idx ON test.t1_2 (f1) COMMENT = 'COMMENT'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COMMENT = 'COMMENT'' at line 1 +CREATE INDEX not_null ON test.t1_1 (f3x); +CREATE INDEX f2_prefix ON test.t1_1 (f2(20)); +SELECT * FROM information_schema.statistics +WHERE table_name LIKE 't1_%' AND index_name <> 'PRIMARY' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +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 test t1_1 1 test f2_prefix 1 f2 A NULL 20 NULL YES BTREE +NULL test t1_1 1 test f3_f1 1 f3 A NULL NULL NULL BTREE +NULL test t1_1 1 test f3_f1 2 f1 A NULL NULL NULL BTREE +NULL test t1_1 1 test f4 1 f4 A NULL NULL NULL YES BTREE +NULL test t1_1 0 test f4x_uni 1 f4x A NULL NULL NULL YES BTREE +NULL test t1_1 1 test not_null 1 f3x A NULL NULL NULL YES BTREE +NULL test t1_2 1 test f2_hash 1 f2 NULL 0 NULL NULL YES HASH +DROP TABLE test.t1_2; +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1'; +table_name +t1_1 +RENAME TABLE test.t1_1 TO test.t1_1x; +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +table_name +t1_1x +SELECT DISTINCT table_schema,table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_1%'; +table_schema table_name +test t1_1x +RENAME TABLE test.t1_1x TO db_datadict.t1_1x; +SELECT DISTINCT table_schema,table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_1%'; +table_schema table_name +db_datadict t1_1x +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +table_name +t1_1x +DROP TABLE db_datadict.t1_1x; +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +table_name +CREATE TEMPORARY TABLE test.t1_1x (PRIMARY KEY(f1,f2)) +ENGINE = <engine_type> +AS SELECT 1 AS f1, 2 AS f2; +SELECT * FROM information_schema.statistics +WHERE table_name = 't1_1x'; +DROP TEMPORARY TABLE test.t1_1x; +CREATE TABLE db_datadict.t1_1x (PRIMARY KEY(f1)) +ENGINE = <engine_type> +AS SELECT 1 AS f1, 2 AS f2; +SELECT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +table_name +t1_1x +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +table_name +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = <engine_type>; +INSERT INTO information_schema.statistics +SELECT * FROM information_schema.statistics; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.statistics SET table_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.statistics WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.statistics; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_statistics +ON information_schema.statistics(table_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.statistics DROP PRIMARY KEY; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.statistics ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.statistics; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.statistics RENAME db_datadict.statistics; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.statistics RENAME information_schema.xstatistics; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_statistics_is.result b/mysql-test/suite/funcs_1/r/is_statistics_is.result new file mode 100644 index 00000000000..165c1ee08e2 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_statistics_is.result @@ -0,0 +1,17 @@ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +SELECT * FROM information_schema.statistics +WHERE table_schema = 'information_schema' +ORDER BY table_schema, table_name, index_name, seq_in_index, column_name; +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 +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.statistics +WHERE table_schema = 'information_schema' +ORDER BY table_schema, table_name, index_name, seq_in_index, column_name; +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 +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result new file mode 100644 index 00000000000..83425b4dd4e --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result @@ -0,0 +1,60 @@ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +SELECT * FROM information_schema.statistics +WHERE table_schema = 'mysql' +ORDER BY table_schema, table_name, index_name, seq_in_index, column_name; +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 columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE +NULL mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE +NULL mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE +NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE +NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE +NULL mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE +NULL mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE +NULL mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE +NULL mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE +NULL mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE +NULL mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE +NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE +NULL mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE +NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE +NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE +NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE +NULL mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE +NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE +NULL mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE +NULL mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE +NULL mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE +NULL mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE +NULL mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE +NULL mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE +NULL mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE +NULL mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE +NULL mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE +NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE +NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE +NULL mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE +NULL mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE +NULL mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE +NULL mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE +NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE +NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE +NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE +NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE +NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE +NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE +NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE +NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE +NULL mysql user 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.statistics +WHERE table_schema = 'mysql' +ORDER BY table_schema, table_name, index_name, seq_in_index, column_name; +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 +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints.result b/mysql-test/suite/funcs_1/r/is_table_constraints.result new file mode 100644 index 00000000000..d2ca58aade6 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_table_constraints.result @@ -0,0 +1,310 @@ +SHOW TABLES FROM information_schema LIKE 'TABLE_CONSTRAINTS'; +Tables_in_information_schema (TABLE_CONSTRAINTS) +TABLE_CONSTRAINTS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLE_CONSTRAINTS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLE_CONSTRAINTS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.TABLE_CONSTRAINTS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.TABLE_CONSTRAINTS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.10.1: INFORMATION_SCHEMA.TABLE_CONSTRAINTS layout +######################################################################### +DESCRIBE information_schema.TABLE_CONSTRAINTS; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(512) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +CONSTRAINT_TYPE varchar(64) NO +SHOW CREATE TABLE information_schema.TABLE_CONSTRAINTS; +Table Create Table +TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` ( + `CONSTRAINT_CATALOG` varchar(512) default NULL, + `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', + `CONSTRAINT_NAME` varchar(64) NOT NULL default '', + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `CONSTRAINT_TYPE` varchar(64) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.TABLE_CONSTRAINTS; +Field Type Null Key Default Extra +CONSTRAINT_CATALOG varchar(512) YES NULL +CONSTRAINT_SCHEMA varchar(64) NO +CONSTRAINT_NAME varchar(64) NO +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +CONSTRAINT_TYPE varchar(64) NO +SELECT constraint_catalog, constraint_schema, constraint_name, +table_schema, table_name +FROM information_schema.table_constraints +WHERE constraint_catalog IS NOT NULL; +constraint_catalog constraint_schema constraint_name table_schema table_name +######################################################################################### +# Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.TABLE_CONSTRAINTS accessible information +######################################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT, +f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2)) +ENGINE = <some_engine_type>; +CREATE UNIQUE INDEX my_idx1 ON db_datadict.t1(f6,f1); +CREATE UNIQUE INDEX my_idx2 ON db_datadict.t1(f3); +CREATE TABLE db_datadict.t2 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT, +f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2)) +ENGINE = <some_engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT(f5) ON db_datadict.t1 TO 'testuser1'@'localhost'; +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT (f5) ON `db_datadict`.`t1` TO 'testuser1'@'localhost' +SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'db_datadict' +ORDER BY table_schema,table_name, constraint_name; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE +NULL db_datadict my_idx1 db_datadict t1 UNIQUE +NULL db_datadict my_idx2 db_datadict t1 UNIQUE +NULL db_datadict PRIMARY db_datadict t1 PRIMARY KEY +NULL db_datadict PRIMARY db_datadict t2 PRIMARY KEY +SHOW INDEXES FROM db_datadict.t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ### +t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ### +t1 0 my_idx1 1 f6 ### ### ### ### ### ### ### +t1 0 my_idx1 2 f1 ### ### ### ### ### ### ### +t1 0 my_idx2 1 f3 ### ### ### ### ### ### ### +SHOW INDEXES FROM db_datadict.t2; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t2 0 PRIMARY 1 f1 ### ### ### ### ### ### ### +t2 0 PRIMARY 2 f2 ### ### ### ### ### ### ### +# Establish connection testuser1 (user=testuser1) +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT (f5) ON `db_datadict`.`t1` TO 'testuser1'@'localhost' +SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'db_datadict' +ORDER BY table_schema,table_name, constraint_name; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE +NULL db_datadict my_idx1 db_datadict t1 UNIQUE +NULL db_datadict my_idx2 db_datadict t1 UNIQUE +NULL db_datadict PRIMARY db_datadict t1 PRIMARY KEY +SHOW INDEXES FROM db_datadict.t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 0 PRIMARY 1 f1 ### ### ### ### ### ### ### +t1 0 PRIMARY 2 f2 ### ### ### ### ### ### ### +t1 0 my_idx1 1 f6 ### ### ### ### ### ### ### +t1 0 my_idx1 2 f1 ### ### ### ### ### ### ### +t1 0 my_idx2 1 f3 ### ### ### ### ### ### ### +SHOW INDEXES FROM db_datadict.t2; +ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 't2' +# Switch to connection default and close connection testuser1 +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; +######################################################################################### +# Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_CONSTRAINTS modifications +######################################################################################### +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS test.t1_my_table; +CREATE DATABASE db_datadict; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name LIKE 't1_my_table%'; +table_name +CREATE TABLE test.t1_my_table +(f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = <engine_type>; +SELECT constraint_name, table_schema, table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_table'; +constraint_name table_schema table_name constraint_type +PRIMARY test t1_my_table PRIMARY KEY +SELECT table_name FROM information_schema.table_constraints +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_table +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_tablex +SELECT table_schema,table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_schema table_name +test t1_my_tablex +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_schema table_name +db_datadict t1_my_tablex +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2); +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +DROP INDEX f2 ON db_datadict.t1_my_tablex; +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2); +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict f2 db_datadict t1_my_tablex UNIQUE +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +DROP INDEX f2 ON db_datadict.t1_my_tablex; +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,f1); +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict my_idx db_datadict t1_my_tablex UNIQUE +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +DROP INDEX my_idx ON db_datadict.t1_my_tablex; +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2); +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict my_idx db_datadict t1_my_tablex UNIQUE +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict my_idx db_datadict t1_my_tablex UNIQUE +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN f2; +SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +constraint_schema constraint_name table_schema table_name constraint_type +db_datadict PRIMARY db_datadict t1_my_tablex PRIMARY KEY +SELECT table_name +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = <engine_type> AS +SELECT 1 AS f1; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1); +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +table_name +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS db_datadict.t1; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT, UNIQUE(f1)) +ENGINE = <engine_type>; +INSERT INTO information_schema.table_constraints +(constraint_schema, constraint_name, table_name) +VALUES ( 'mysql', 'primary', 'db'); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +INSERT INTO information_schema.table_constraints +SELECT * FROM information_schema.table_constraints; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.table_constraints +SET table_name = 'db1' WHERE constraint_name = 'primary'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.table_constraints WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.table_constraints; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX i3 ON information_schema.table_constraints(table_name); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.table_constraints ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.table_constraints; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.table_constraints +RENAME db_datadict.table_constraints; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.table_constraints +RENAME information_schema.xtable_constraints; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE db_datadict.t1; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_is.result b/mysql-test/suite/funcs_1/r/is_table_constraints_is.result new file mode 100644 index 00000000000..78724caa175 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_table_constraints_is.result @@ -0,0 +1,17 @@ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'information_schema' +ORDER BY table_schema,table_name,constraint_name; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'information_schema' +ORDER BY table_schema,table_name,constraint_name; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result new file mode 100644 index 00000000000..0be4f0a6e95 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result @@ -0,0 +1,37 @@ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'mysql' +ORDER BY table_schema,table_name,constraint_name; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE +NULL mysql PRIMARY mysql columns_priv PRIMARY KEY +NULL mysql PRIMARY mysql db PRIMARY KEY +NULL mysql PRIMARY mysql func PRIMARY KEY +NULL mysql name mysql help_category UNIQUE +NULL mysql PRIMARY mysql help_category PRIMARY KEY +NULL mysql name mysql help_keyword UNIQUE +NULL mysql PRIMARY mysql help_keyword PRIMARY KEY +NULL mysql PRIMARY mysql help_relation PRIMARY KEY +NULL mysql name mysql help_topic UNIQUE +NULL mysql PRIMARY mysql help_topic PRIMARY KEY +NULL mysql PRIMARY mysql host PRIMARY KEY +NULL mysql PRIMARY mysql proc PRIMARY KEY +NULL mysql PRIMARY mysql procs_priv PRIMARY KEY +NULL mysql PRIMARY mysql tables_priv PRIMARY KEY +NULL mysql PRIMARY mysql time_zone PRIMARY KEY +NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY +NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY +NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY +NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY +NULL mysql PRIMARY mysql user PRIMARY KEY +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'mysql' +ORDER BY table_schema,table_name,constraint_name; +CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_table_privileges.result b/mysql-test/suite/funcs_1/r/is_table_privileges.result new file mode 100644 index 00000000000..9bf04949710 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_table_privileges.result @@ -0,0 +1,332 @@ +SHOW TABLES FROM information_schema LIKE 'TABLE_PRIVILEGES'; +Tables_in_information_schema (TABLE_PRIVILEGES) +TABLE_PRIVILEGES +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLE_PRIVILEGES; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLE_PRIVILEGES; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.TABLE_PRIVILEGES; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.TABLE_PRIVILEGES; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.11.1: INFORMATION_SCHEMA.TABLE_PRIVILEGES layout +######################################################################### +DESCRIBE information_schema.TABLE_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SHOW CREATE TABLE information_schema.TABLE_PRIVILEGES; +Table Create Table +TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` ( + `GRANTEE` varchar(81) NOT NULL default '', + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', + `IS_GRANTABLE` varchar(3) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.TABLE_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SELECT table_catalog, table_schema, table_name, privilege_type +FROM information_schema.table_privileges WHERE table_catalog IS NOT NULL; +table_catalog table_schema table_name privilege_type +###################################################################### +# Testcase 3.2.11.2+3.2.11.3+3.2.11.4: +# INFORMATION_SCHEMA.TABLE_PRIVILEGES accessible information +###################################################################### +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.tb1(f1 INT, f2 INT, f3 INT) +ENGINE = <engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT CREATE, SELECT ON db_datadict.* +TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +# Establish connection testuser1 (user=testuser1) +CREATE TABLE tb3 (f1 TEXT) +ENGINE = <other_engine_type>; +GRANT SELECT ON db_datadict.tb3 TO 'testuser3'@'localhost'; +SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 'tb%' +ORDER BY grantee,table_schema,table_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict tb1 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT, CREATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT ON `db_datadict`.`tb1` TO 'testuser1'@'localhost' +# Establish connection testuser2 (user=testuser3) +SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 'tb%' +ORDER BY grantee,table_schema,table_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser2'@'localhost' NULL db_datadict tb1 ALTER YES +'testuser2'@'localhost' NULL db_datadict tb1 CREATE YES +'testuser2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES +'testuser2'@'localhost' NULL db_datadict tb1 DELETE YES +'testuser2'@'localhost' NULL db_datadict tb1 DROP YES +'testuser2'@'localhost' NULL db_datadict tb1 INDEX YES +'testuser2'@'localhost' NULL db_datadict tb1 INSERT YES +'testuser2'@'localhost' NULL db_datadict tb1 REFERENCES YES +'testuser2'@'localhost' NULL db_datadict tb1 SELECT YES +'testuser2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES +'testuser2'@'localhost' NULL db_datadict tb1 UPDATE YES +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +GRANT ALL PRIVILEGES ON `db_datadict`.`tb1` TO 'testuser2'@'localhost' WITH GRANT OPTION +# Establish connection testuser3 (user=testuser3) +SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 'tb%' +ORDER BY grantee,table_schema,table_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser3'@'localhost' NULL db_datadict tb3 SELECT NO +SHOW GRANTS FOR 'testuser3'@'localhost'; +Grants for testuser3@localhost +GRANT USAGE ON *.* TO 'testuser3'@'localhost' +GRANT SELECT ON `db_datadict`.`tb3` TO 'testuser3'@'localhost' +# Switch to connection default and close the other connections +SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 'tb%' +ORDER BY grantee,table_schema,table_name,privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL db_datadict tb1 SELECT NO +'testuser2'@'localhost' NULL db_datadict tb1 ALTER YES +'testuser2'@'localhost' NULL db_datadict tb1 CREATE YES +'testuser2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES +'testuser2'@'localhost' NULL db_datadict tb1 DELETE YES +'testuser2'@'localhost' NULL db_datadict tb1 DROP YES +'testuser2'@'localhost' NULL db_datadict tb1 INDEX YES +'testuser2'@'localhost' NULL db_datadict tb1 INSERT YES +'testuser2'@'localhost' NULL db_datadict tb1 REFERENCES YES +'testuser2'@'localhost' NULL db_datadict tb1 SELECT YES +'testuser2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES +'testuser2'@'localhost' NULL db_datadict tb1 UPDATE YES +'testuser3'@'localhost' NULL db_datadict tb3 SELECT NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT, CREATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT ON `db_datadict`.`tb1` TO 'testuser1'@'localhost' +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +GRANT ALL PRIVILEGES ON `db_datadict`.`tb1` TO 'testuser2'@'localhost' WITH GRANT OPTION +SHOW GRANTS FOR 'testuser3'@'localhost'; +Grants for testuser3@localhost +GRANT USAGE ON *.* TO 'testuser3'@'localhost' +GRANT SELECT ON `db_datadict`.`tb3` TO 'testuser3'@'localhost' +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict; +################################################################################ +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_PRIVILEGES modifications +################################################################################ +DROP TABLE IF EXISTS test.t1_table; +DROP VIEW IF EXISTS test.t1_view; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE test.t1_table (f1 BIGINT) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +COMMENT = 'Initial Comment' ENGINE = <engine_type>; +CREATE VIEW test.t1_view AS SELECT 1; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'the_user'@'localhost'; +SELECT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%'; +table_name +GRANT ALL ON test.t1_table TO 'testuser1'@'localhost'; +GRANT ALL ON test.t1_view TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY grantee, table_schema, table_name, privilege_type; +GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL test t1_table ALTER NO +'testuser1'@'localhost' NULL test t1_table CREATE NO +'testuser1'@'localhost' NULL test t1_table CREATE VIEW NO +'testuser1'@'localhost' NULL test t1_table DELETE NO +'testuser1'@'localhost' NULL test t1_table DROP NO +'testuser1'@'localhost' NULL test t1_table INDEX NO +'testuser1'@'localhost' NULL test t1_table INSERT NO +'testuser1'@'localhost' NULL test t1_table REFERENCES NO +'testuser1'@'localhost' NULL test t1_table SELECT NO +'testuser1'@'localhost' NULL test t1_table SHOW VIEW NO +'testuser1'@'localhost' NULL test t1_table UPDATE NO +'testuser1'@'localhost' NULL test t1_view ALTER NO +'testuser1'@'localhost' NULL test t1_view CREATE NO +'testuser1'@'localhost' NULL test t1_view CREATE VIEW NO +'testuser1'@'localhost' NULL test t1_view DELETE NO +'testuser1'@'localhost' NULL test t1_view DROP NO +'testuser1'@'localhost' NULL test t1_view INDEX NO +'testuser1'@'localhost' NULL test t1_view INSERT NO +'testuser1'@'localhost' NULL test t1_view REFERENCES NO +'testuser1'@'localhost' NULL test t1_view SELECT NO +'testuser1'@'localhost' NULL test t1_view SHOW VIEW NO +'testuser1'@'localhost' NULL test t1_view UPDATE NO +SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY grantee, table_name; +grantee table_name +'testuser1'@'localhost' t1_table +'testuser1'@'localhost' t1_view +RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost'; +FLUSH PRIVILEGES; +SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY grantee, table_name; +grantee table_name +'the_user'@'localhost' t1_table +'the_user'@'localhost' t1_view +SHOW GRANTS FOR 'testuser1'@'localhost'; +ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost' +SHOW GRANTS FOR 'the_user'@'localhost'; +Grants for the_user@localhost +GRANT USAGE ON *.* TO 'the_user'@'localhost' +GRANT ALL PRIVILEGES ON `test`.`t1_view` TO 'the_user'@'localhost' +GRANT ALL PRIVILEGES ON `test`.`t1_table` TO 'the_user'@'localhost' +SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +table_schema table_name +test t1_table +test t1_view +RENAME TABLE test.t1_table TO db_datadict.t1_table; +RENAME TABLE test.t1_view TO db_datadict.t1_view; +ERROR HY000: Changing schema from 'test' to 'db_datadict' is not allowed. +SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +table_schema table_name +test t1_table +test t1_view +SHOW GRANTS FOR 'the_user'@'localhost'; +Grants for the_user@localhost +GRANT USAGE ON *.* TO 'the_user'@'localhost' +GRANT ALL PRIVILEGES ON `test`.`t1_view` TO 'the_user'@'localhost' +GRANT ALL PRIVILEGES ON `test`.`t1_table` TO 'the_user'@'localhost' +REVOKE ALL PRIVILEGES ON test.t1_table FROM 'the_user'@'localhost'; +REVOKE ALL PRIVILEGES ON test.t1_view FROM 'the_user'@'localhost'; +DROP VIEW test.t1_view; +CREATE VIEW db_datadict.t1_view AS SELECT 1; +GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost'; +GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost'; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_table +t1_view +RENAME TABLE db_datadict.t1_table TO db_datadict.t1_tablex; +RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_table +t1_view +RENAME TABLE db_datadict.t1_tablex TO db_datadict.t1_table; +RENAME TABLE db_datadict.t1_viewx TO db_datadict.t1_view; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_table +t1_view +DROP TABLE db_datadict.t1_table; +DROP VIEW db_datadict.t1_view; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_table +t1_view +CREATE TABLE db_datadict.t1_table +ENGINE = <engine_type> AS +SELECT 1; +CREATE VIEW db_datadict.t1_view AS SELECT 1; +GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost'; +GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost'; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_table +t1_view +DROP DATABASE db_datadict; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_table +t1_view +DROP USER 'the_user'@'localhost'; +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT) +ENGINE = <engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost'; +INSERT INTO information_schema.table_privileges +SELECT * FROM information_schema.table_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.table_privileges SET table_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.table_privileges WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.table_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_tables +ON information_schema.table_privileges(table_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.table_privileges ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.table_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.table_privileges +RENAME db_datadict.table_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.table_privileges +RENAME information_schema.xtable_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; diff --git a/mysql-test/suite/funcs_1/r/is_tables.result b/mysql-test/suite/funcs_1/r/is_tables.result new file mode 100644 index 00000000000..45662b2b03f --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables.result @@ -0,0 +1,419 @@ +SHOW TABLES FROM information_schema LIKE 'TABLES'; +Tables_in_information_schema (TABLES) +TABLES +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.TABLES; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TABLES; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.TABLES; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.TABLES; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.12.1: INFORMATION_SCHEMA.TABLES layout +######################################################################### +DESCRIBE information_schema.TABLES; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +TABLE_TYPE varchar(64) NO +ENGINE varchar(64) YES NULL +VERSION bigint(21) YES NULL +ROW_FORMAT varchar(10) YES NULL +TABLE_ROWS bigint(21) YES NULL +AVG_ROW_LENGTH bigint(21) YES NULL +DATA_LENGTH bigint(21) YES NULL +MAX_DATA_LENGTH bigint(21) YES NULL +INDEX_LENGTH bigint(21) YES NULL +DATA_FREE bigint(21) YES NULL +AUTO_INCREMENT bigint(21) YES NULL +CREATE_TIME datetime YES NULL +UPDATE_TIME datetime YES NULL +CHECK_TIME datetime YES NULL +TABLE_COLLATION varchar(64) YES NULL +CHECKSUM bigint(21) YES NULL +CREATE_OPTIONS varchar(255) YES NULL +TABLE_COMMENT varchar(80) NO +SHOW CREATE TABLE information_schema.TABLES; +Table Create Table +TABLES CREATE TEMPORARY TABLE `TABLES` ( + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `TABLE_TYPE` varchar(64) NOT NULL default '', + `ENGINE` varchar(64) default NULL, + `VERSION` bigint(21) default NULL, + `ROW_FORMAT` varchar(10) default NULL, + `TABLE_ROWS` bigint(21) default NULL, + `AVG_ROW_LENGTH` bigint(21) default NULL, + `DATA_LENGTH` bigint(21) default NULL, + `MAX_DATA_LENGTH` bigint(21) default NULL, + `INDEX_LENGTH` bigint(21) default NULL, + `DATA_FREE` bigint(21) default NULL, + `AUTO_INCREMENT` bigint(21) default NULL, + `CREATE_TIME` datetime default NULL, + `UPDATE_TIME` datetime default NULL, + `CHECK_TIME` datetime default NULL, + `TABLE_COLLATION` varchar(64) default NULL, + `CHECKSUM` bigint(21) default NULL, + `CREATE_OPTIONS` varchar(255) default NULL, + `TABLE_COMMENT` varchar(80) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.TABLES; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +TABLE_TYPE varchar(64) NO +ENGINE varchar(64) YES NULL +VERSION bigint(21) YES NULL +ROW_FORMAT varchar(10) YES NULL +TABLE_ROWS bigint(21) YES NULL +AVG_ROW_LENGTH bigint(21) YES NULL +DATA_LENGTH bigint(21) YES NULL +MAX_DATA_LENGTH bigint(21) YES NULL +INDEX_LENGTH bigint(21) YES NULL +DATA_FREE bigint(21) YES NULL +AUTO_INCREMENT bigint(21) YES NULL +CREATE_TIME datetime YES NULL +UPDATE_TIME datetime YES NULL +CHECK_TIME datetime YES NULL +TABLE_COLLATION varchar(64) YES NULL +CHECKSUM bigint(21) YES NULL +CREATE_OPTIONS varchar(255) YES NULL +TABLE_COMMENT varchar(80) NO +SELECT table_catalog, table_schema, table_name +FROM information_schema.tables WHERE table_catalog IS NOT NULL; +table_catalog table_schema table_name +################################################################################ +# Testcase 3.2.12.2 + 3.2.12.3: INFORMATION_SCHEMA.TABLES accessible information +################################################################################ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.* +TO 'testuser1'@'localhost' WITH GRANT OPTION; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +CREATE TABLE db_datadict.tb1 (f1 INT, f2 INT, f3 INT) +ENGINE = <engine_type>; +GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost'; +GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION; +# Establish connection testuser1 (user=testuser1) +CREATE TABLE tb2 (f1 DECIMAL) +ENGINE = <engine_type>; +CREATE TABLE tb3 (f1 VARCHAR(200)) +ENGINE = <engine_type>; +GRANT SELECT ON db_datadict.tb3 to 'testuser3'@'localhost'; +GRANT INSERT ON db_datadict.tb3 to 'testuser2'@'localhost'; +CREATE VIEW v3 AS SELECT * FROM tb3; +GRANT SELECT ON db_datadict.v3 to 'testuser3'@'localhost'; +SELECT * FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW +SHOW TABLES FROM db_datadict; +Tables_in_db_datadict +tb1 +tb2 +tb3 +v3 +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +SHOW TABLES FROM db_datadict; +Tables_in_db_datadict +tb1 +tb3 +# Establish connection testuser3 (user=testuser3) +SELECT * FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW +SHOW TABLES FROM db_datadict; +Tables_in_db_datadict +tb3 +v3 +# Switch to connection default (user=root) +SELECT * FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +NULL db_datadict tb1 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict tb2 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict tb3 BASE TABLE #ENG# 10 #RF# 0 #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# latin1_swedish_ci #CS# +NULL db_datadict v3 VIEW #ENG# NULL #RF# NULL #ARL# #DL# #MDL# #IL# #DF# NULL #CRT #UT# #CT# NULL #CS# NULL VIEW +SHOW TABLES FROM db_datadict; +Tables_in_db_datadict +tb1 +tb2 +tb3 +v3 +# Close connection testuser1, testuser2, testuser3 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict; +######################################################################### +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLES modifications +######################################################################### +DROP TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +table_name +CREATE TABLE test.t1_my_table (f1 BIGINT) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +COMMENT = 'Initial Comment' ENGINE = <engine_type>; +SELECT * FROM information_schema.tables +WHERE table_name = 't1_my_table'; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_table +TABLE_TYPE BASE TABLE +ENGINE #ENG# +VERSION 10 +ROW_FORMAT #RF# +TABLE_ROWS 0 +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM #CS# +CREATE_OPTIONS +TABLE_COMMENT Initial Comment +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_table +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_tablex +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_schema table_name +test t1_my_tablex +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_schema table_name +db_datadict t1_my_tablex +SELECT table_name, engine FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name engine +t1_my_tablex <engine_type> +ALTER TABLE db_datadict.t1_my_tablex +ENGINE = <other_engine_type>; +SELECT table_name, engine FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name engine +t1_my_tablex <other_engine_type> +SELECT table_name, table_rows FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name table_rows +t1_my_tablex 0 +INSERT INTO db_datadict.t1_my_tablex VALUES(1),(2); +SELECT table_name, table_rows FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name table_rows +t1_my_tablex 2 +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name table_collation +t1_my_tablex latin1_swedish_ci +ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8; +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name table_collation +t1_my_tablex utf8_general_ci +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name table_collation +t1_my_tablex utf8_general_ci +ALTER TABLE db_datadict.t1_my_tablex +DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci; +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name table_collation +t1_my_tablex latin1_german1_ci +SELECT table_name, TABLE_COMMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name TABLE_COMMENT +t1_my_tablex Initial Comment +ALTER TABLE db_datadict.t1_my_tablex COMMENT 'Changed Comment'; +SELECT table_name, TABLE_COMMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name TABLE_COMMENT +t1_my_tablex Changed Comment +SELECT table_name, AUTO_INCREMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name AUTO_INCREMENT +t1_my_tablex NULL +ALTER TABLE db_datadict.t1_my_tablex +ADD f2 BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (f2); +SELECT table_name, AUTO_INCREMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name AUTO_INCREMENT +t1_my_tablex 3 +SELECT table_name, ROW_FORMAT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name ROW_FORMAT +t1_my_tablex Fixed +ALTER TABLE db_datadict.t1_my_tablex ROW_FORMAT = dynamic; +SELECT table_name, ROW_FORMAT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name ROW_FORMAT +t1_my_tablex Dynamic +SELECT table_name, checksum FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name checksum +t1_my_tablex NULL +ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1; +SELECT table_name, checksum IS NOT NULL FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name checksum IS NOT NULL +t1_my_tablex 1 +SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; +SELECT UPDATE_TIME > @UPDATE_TIME +AS "Is current UPDATE_TIME bigger than before last INSERT?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +Is current UPDATE_TIME bigger than before last INSERT? +1 +SELECT checksum <> @checksum +AS "Is current CHECKSUM different than before last INSERT?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +Is current CHECKSUM different than before last INSERT? +1 +SELECT CREATE_TIME INTO @CREATE_TIME FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +table_name +t1_my_tablex +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +table_name +CREATE TABLE test.t1_my_tablex (f1 BIGINT) +ENGINE = <other_engine_type>; +SELECT CREATE_TIME > @CREATE_TIME +AS "Is current CREATE_TIME bigger than for the old dropped table?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +Is current CREATE_TIME bigger than for the old dropped table? +1 +DROP TABLE test.t1_my_tablex; +CREATE VIEW test.t1_my_tablex AS SELECT 1; +SELECT * FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1_my_tablex +TABLE_TYPE VIEW +ENGINE NULL +VERSION NULL +ROW_FORMAT NULL +TABLE_ROWS NULL +AVG_ROW_LENGTH NULL +DATA_LENGTH NULL +MAX_DATA_LENGTH NULL +INDEX_LENGTH NULL +DATA_FREE NULL +AUTO_INCREMENT NULL +CREATE_TIME NULL +UPDATE_TIME NULL +CHECK_TIME NULL +TABLE_COLLATION NULL +CHECKSUM NULL +CREATE_OPTIONS NULL +TABLE_COMMENT VIEW +DROP VIEW test.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name +CREATE TEMPORARY TABLE test.t1_my_tablex +ENGINE = <other_engine_type> +AS SELECT 1; +SELECT table_name, table_type FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +DROP TEMPORARY TABLE test.t1_my_tablex; +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = <engine_type> AS +SELECT 1; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name +t1_my_tablex +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +table_name +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = <engine_type>; +INSERT INTO information_schema.tables +SELECT * FROM information_schema.tables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.tables SET table_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.tables WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.tables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_tables ON information_schema.tables(table_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.tables DROP PRIMARY KEY; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.tables ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.tables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.tables RENAME db_datadict.tables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.tables RENAME information_schema.xtables; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_tables_innodb.result b/mysql-test/suite/funcs_1/r/is_tables_innodb.result new file mode 100644 index 00000000000..fccf1cf5cb9 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables_innodb.result @@ -0,0 +1,1063 @@ +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; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb1 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb3 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb4 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test1 +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test4 +TABLE_NAME t6 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +# Establish connection testuser1 (user=testuser1) +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb1 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb3 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb4 +TABLE_TYPE BASE TABLE +ENGINE InnoDB +VERSION 10 +ROW_FORMAT Compact +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; +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 --git a/mysql-test/suite/funcs_1/r/is_tables_is.result b/mysql-test/suite/funcs_1/r/is_tables_is.result new file mode 100644 index 00000000000..78193155e22 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables_is.result @@ -0,0 +1,771 @@ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema = 'information_schema' +AND table_name <> 'profiling' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME CHARACTER_SETS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLLATIONS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLUMNS +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLUMN_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME KEY_COLUMN_USAGE +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME ROUTINES +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME SCHEMATA +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME SCHEMA_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME STATISTICS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TABLES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TABLE_CONSTRAINTS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TABLE_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TRIGGERS +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME USER_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME VIEWS +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +# Establish connection testuser1 (user=testuser1) +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema = 'information_schema' +AND table_name <> 'profiling' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME CHARACTER_SETS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLLATIONS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLUMNS +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME COLUMN_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME KEY_COLUMN_USAGE +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME ROUTINES +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME SCHEMATA +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME SCHEMA_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME STATISTICS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TABLES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TABLE_CONSTRAINTS +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TABLE_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME TRIGGERS +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME USER_PRIVILEGES +TABLE_TYPE SYSTEM VIEW +ENGINE MEMORY +VERSION 0 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA information_schema +TABLE_NAME VIEWS +TABLE_TYPE SYSTEM VIEW +ENGINE MyISAM +VERSION 0 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_tables_memory.result b/mysql-test/suite/funcs_1/r/is_tables_memory.result new file mode 100644 index 00000000000..db3f40bf8a0 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables_memory.result @@ -0,0 +1,1052 @@ +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +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, +f2 char binary, +f3 char ascii, +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 not null DEFAULT 9.9, +f34 decimal unsigned not null DEFAULT 9.9, +f35 decimal zerofill not null DEFAULT 9.9, +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 = memory; +Warnings: +Note 1265 Data truncated for column 'f33' at row 1 +Note 1265 Data truncated for column 'f34' at row 1 +Note 1265 Data truncated for column 'f35' at row 1 +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/memory_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 = memory; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 char(50), +f122 char(50), +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 = memory; +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/memory_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"), +f236 char(95) unicode, +f241 char(255) unicode, +f237 char(130) binary, +f238 varchar(25000) binary, +f239 varbinary(0), +f240 varchar(1200) unicode +) engine = memory; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 = memory; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 = MEMORY; +CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; +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 = MEMORY; +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 = MEMORY; +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 = MEMORY; +CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = MEMORY; +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 = MEMORY; +LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb1 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb3 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb4 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test1 +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test4 +TABLE_NAME t6 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +# Establish connection testuser1 (user=testuser1) +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb1 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb3 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb4 +TABLE_TYPE BASE TABLE +ENGINE MEMORY +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; +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 --git a/mysql-test/suite/funcs_1/r/is_tables_myisam.result b/mysql-test/suite/funcs_1/r/is_tables_myisam.result new file mode 100644 index 00000000000..27fed7591ac --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables_myisam.result @@ -0,0 +1,1092 @@ +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +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, +f2 char binary, +f3 char 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 not null DEFAULT 9.9, +f34 decimal unsigned not null DEFAULT 9.9, +f35 decimal zerofill not null DEFAULT 9.9, +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 = myisam; +Warnings: +Note 1265 Data truncated for column 'f33' at row 1 +Note 1265 Data truncated for column 'f34' at row 1 +Note 1265 Data truncated for column 'f35' at row 1 +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/myisam_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", +f110 VARBINARY(64) null, +f111 VARBINARY(27) null , +f112 VARBINARY(64) null , +f113 VARBINARY(192) null , +f114 VARBINARY(192) , +f115 VARBINARY(27) null , +f116 VARBINARY(64) null, +f117 VARBINARY(192) null +) engine = myisam; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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 = myisam; +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/myisam_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"), +f227 VARBINARY(64), +f228 VARBINARY(27), +f229 VARBINARY(64), +f230 VARBINARY(192), +f231 VARBINARY(192), +f232 VARBINARY(27), +f233 VARBINARY(64), +f234 VARBINARY(192), +f235 char(255) unicode, +f236 char(60) ascii, +f237 char(255) binary, +f238 varchar(0) binary, +f239 varbinary(1000), +f240 varchar(120) unicode, +f241 char(100) unicode, +f242 bit(30) +) engine = myisam; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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", +f110 VARBINARY(64) null, +f111 VARBINARY(27) null , +f112 VARBINARY(64) null , +f113 VARBINARY(192) null , +f114 VARBINARY(192) , +f115 VARBINARY(27) null , +f116 VARBINARY(64) null, +f117 VARBINARY(192) null +) engine = myisam; +load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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 = MyISAM; +CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; +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 = MyISAM; +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 = MyISAM; +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 = MyISAM; +CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = MyISAM; +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 = MyISAM; +LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb1 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb3 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb4 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test1 +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test4 +TABLE_NAME t6 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +# Establish connection testuser1 (user=testuser1) +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb1 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb2 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb3 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME tb4 +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; +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 --git a/mysql-test/suite/funcs_1/r/is_tables_mysql.result b/mysql-test/suite/funcs_1/r/is_tables_mysql.result new file mode 100644 index 00000000000..d407f224b7d --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables_mysql.result @@ -0,0 +1,424 @@ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema = 'mysql' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME columns_priv +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Column privileges +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME db +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Database privileges +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME func +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment User defined functions +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME help_category +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment help categories +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME help_keyword +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment help keywords +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME help_relation +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment keyword-topic relation +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME help_topic +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment help topics +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME host +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Host privileges; Merged with database privileges +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME proc +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Stored Procedures +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME procs_priv +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Procedure privileges +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME tables_priv +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Table privileges +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME time_zone +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT 6 +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Time zones +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME time_zone_leap_second +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Leap seconds information for time zones +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME time_zone_name +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Time zone names +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME time_zone_transition +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Time zone transitions +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME time_zone_transition_type +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_general_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Time zone transition types +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA mysql +TABLE_NAME user +TABLE_TYPE BASE TABLE +ENGINE MyISAM +VERSION 10 +ROW_FORMAT Dynamic +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION utf8_bin +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment Users and global privileges +Separator ----------------------------------------------------- +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +# Establish connection testuser1 (user=testuser1) +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema = 'mysql' +ORDER BY table_schema,table_name; +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_tables_ndb.result b/mysql-test/suite/funcs_1/r/is_tables_ndb.result new file mode 100644 index 00000000000..5b9863a4673 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_tables_ndb.result @@ -0,0 +1,560 @@ +SET @NO_REFRESH = IF( '' = '', 0, 1); +DROP DATABASE IF EXISTS test1; +CREATE DATABASE test1; +USE test; +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 = NDB; +CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = NDB; +CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = NDB; +CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = NDB; +CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = NDB; +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 = NDB; +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 = NDB; +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 = NDB; +CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = NDB; +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 = NDB; +LOAD DATA INFILE 'MYSQL_TEST_DIR/suite/funcs_1/data/t9.txt' INTO TABLE t9; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test4 +TABLE_NAME t6 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +DROP USER testuser1@localhost; +CREATE USER testuser1@localhost; +GRANT SELECT ON db_datadict.* TO testuser1@localhost; +# Establish connection testuser1 (user=testuser1) +SELECT *, +LEFT( table_comment, +IF(INSTR(table_comment,'InnoDB free') = 0 +AND INSTR(table_comment,'number_of_replicas') = 0, +LENGTH(table_comment), +INSTR(table_comment,'InnoDB free') ++ INSTR(table_comment,'number_of_replicas') - 1)) +AS "user_comment", +'-----------------------------------------------------' AS "Separator" +FROM information_schema.tables +WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE' +ORDER BY table_schema,table_name; +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t1 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t10 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t11 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t2 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t3 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t4 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t7 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t8 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test +TABLE_NAME t9 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +TABLE_CATALOG NULL +TABLE_SCHEMA test4 +TABLE_NAME t6 +TABLE_TYPE BASE TABLE +ENGINE ndbcluster +VERSION 10 +ROW_FORMAT Fixed +TABLE_ROWS #TBLR# +AVG_ROW_LENGTH #ARL# +DATA_LENGTH #DL# +MAX_DATA_LENGTH #MDL# +INDEX_LENGTH #IL# +DATA_FREE #DF# +AUTO_INCREMENT NULL +CREATE_TIME #CRT# +UPDATE_TIME #UT# +CHECK_TIME #CT# +TABLE_COLLATION latin1_swedish_ci +CHECKSUM NULL +CREATE_OPTIONS #CO# +TABLE_COMMENT #TC# +user_comment +Separator ----------------------------------------------------- +# Switch to connection default and close connection testuser1 +DROP USER testuser1@localhost; +DROP DATABASE db_datadict; +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; diff --git a/mysql-test/suite/funcs_1/r/is_triggers.result b/mysql-test/suite/funcs_1/r/is_triggers.result new file mode 100644 index 00000000000..77bd2d8b670 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_triggers.result @@ -0,0 +1,212 @@ +SHOW TABLES FROM information_schema LIKE 'TRIGGERS'; +Tables_in_information_schema (TRIGGERS) +TRIGGERS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.TRIGGERS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.TRIGGERS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.TRIGGERS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.TRIGGERS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.12.1: INFORMATION_SCHEMA.TRIGGERS layout +######################################################################### +DESCRIBE information_schema.TRIGGERS; +Field Type Null Key Default Extra +TRIGGER_CATALOG varchar(512) YES NULL +TRIGGER_SCHEMA varchar(64) NO +TRIGGER_NAME varchar(64) NO +EVENT_MANIPULATION varchar(6) NO +EVENT_OBJECT_CATALOG varchar(512) YES NULL +EVENT_OBJECT_SCHEMA varchar(64) NO +EVENT_OBJECT_TABLE varchar(64) NO +ACTION_ORDER bigint(4) NO 0 +ACTION_CONDITION longtext YES NULL +ACTION_STATEMENT longtext NO NULL +ACTION_ORIENTATION varchar(9) NO +ACTION_TIMING varchar(6) NO +ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL +ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL +ACTION_REFERENCE_OLD_ROW varchar(3) NO +ACTION_REFERENCE_NEW_ROW varchar(3) NO +CREATED datetime YES NULL +SQL_MODE longtext NO NULL +DEFINER longtext NO NULL +SHOW CREATE TABLE information_schema.TRIGGERS; +Table Create Table +TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` ( + `TRIGGER_CATALOG` varchar(512) default NULL, + `TRIGGER_SCHEMA` varchar(64) NOT NULL default '', + `TRIGGER_NAME` varchar(64) NOT NULL default '', + `EVENT_MANIPULATION` varchar(6) NOT NULL default '', + `EVENT_OBJECT_CATALOG` varchar(512) default NULL, + `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL default '', + `EVENT_OBJECT_TABLE` varchar(64) NOT NULL default '', + `ACTION_ORDER` bigint(4) NOT NULL default '0', + `ACTION_CONDITION` longtext, + `ACTION_STATEMENT` longtext NOT NULL, + `ACTION_ORIENTATION` varchar(9) NOT NULL default '', + `ACTION_TIMING` varchar(6) NOT NULL default '', + `ACTION_REFERENCE_OLD_TABLE` varchar(64) default NULL, + `ACTION_REFERENCE_NEW_TABLE` varchar(64) default NULL, + `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL default '', + `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL default '', + `CREATED` datetime default NULL, + `SQL_MODE` longtext NOT NULL, + `DEFINER` longtext NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.TRIGGERS; +Field Type Null Key Default Extra +TRIGGER_CATALOG varchar(512) YES NULL +TRIGGER_SCHEMA varchar(64) NO +TRIGGER_NAME varchar(64) NO +EVENT_MANIPULATION varchar(6) NO +EVENT_OBJECT_CATALOG varchar(512) YES NULL +EVENT_OBJECT_SCHEMA varchar(64) NO +EVENT_OBJECT_TABLE varchar(64) NO +ACTION_ORDER bigint(4) NO 0 +ACTION_CONDITION longtext YES NULL +ACTION_STATEMENT longtext NO NULL +ACTION_ORIENTATION varchar(9) NO +ACTION_TIMING varchar(6) NO +ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL +ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL +ACTION_REFERENCE_OLD_ROW varchar(3) NO +ACTION_REFERENCE_NEW_ROW varchar(3) NO +CREATED datetime YES NULL +SQL_MODE longtext NO NULL +DEFINER longtext NO NULL +SELECT * FROM information_schema.triggers +WHERE trigger_catalog IS NOT NULL OR event_object_catalog IS NOT NULL +OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL +OR action_reference_new_table IS NOT NULL; +TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER +################################################################################## +# Testcase 3.2.18.2 + 3.2.18.3: INFORMATION_SCHEMA.TRIGGERS accessible information +################################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +DROP USER 'testuser4'@'localhost'; +CREATE USER 'testuser4'@'localhost'; +GRANT SUPER ON *.* TO 'testuser1'@'localhost'; +GRANT SUPER ON *.* TO 'testuser3'@'localhost'; +GRANT SUPER ON *.* TO 'testuser4'@'localhost'; +GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +# Establish connection testuser1 (user=testuser1) +CREATE TABLE db_datadict.t1 (f1 INT, f2 INT, f3 INT) +ENGINE = <engine_type>; +CREATE TRIGGER trg1 BEFORE INSERT +ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before; +GRANT ALL ON db_datadict.t1 TO 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'; +SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER +NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost +SHOW TRIGGERS FROM db_datadict; +Trigger Event Table Statement Timing Created sql_mode Definer +trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost +# Establish connection testuser2 (user=testuser2) +SHOW GRANTS FOR 'testuser2'@'localhost'; +Grants for testuser2@localhost +GRANT USAGE ON *.* TO 'testuser2'@'localhost' +GRANT ALL PRIVILEGES ON `db_datadict`.`t1` TO 'testuser2'@'localhost' +# No SUPER Privilege --> no result for query +SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER +SHOW TRIGGERS FROM db_datadict; +Trigger Event Table Statement Timing Created sql_mode Definer +# Establish connection testuser3 (user=testuser3) +SHOW GRANTS FOR 'testuser3'@'localhost'; +Grants for testuser3@localhost +GRANT SUPER ON *.* TO 'testuser3'@'localhost' +GRANT SELECT ON `db_datadict`.`t1` TO 'testuser3'@'localhost' +# SUPER Privilege + SELECT Privilege on t1 --> result for query +SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER +NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost +SHOW TRIGGERS FROM db_datadict; +Trigger Event Table Statement Timing Created sql_mode Definer +trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost +# Establish connection testuser4 (user=testuser4) +SHOW GRANTS FOR 'testuser4'@'localhost'; +Grants for testuser4@localhost +GRANT SUPER ON *.* TO 'testuser4'@'localhost' +# SUPER Privilege + no SELECT Privilege on t1 --> no result for query +SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER +SHOW TRIGGERS FROM db_datadict; +Trigger Event Table Statement Timing Created sql_mode Definer +# Switch to connection default and close connections testuser1 - testuser4 +SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER +NULL db_datadict trg1 INSERT NULL db_datadict t1 0 NULL SET @test_before = 2, new.f1 = @test_before ROW BEFORE NULL NULL OLD NEW NULL testuser1@localhost +SHOW TRIGGERS FROM db_datadict; +Trigger Event Table Statement Timing Created sql_mode Definer +trg1 INSERT t1 SET @test_before = 2, new.f1 = @test_before BEFORE NULL testuser1@localhost +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP USER 'testuser4'@'localhost'; +DROP DATABASE db_datadict; +######################################################################### +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TRIGGERS modifications +######################################################################### +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = <engine_type>; +CREATE TRIGGER db_datadict.trg1 BEFORE INSERT +ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before; +INSERT INTO information_schema.triggers +SELECT * FROM information_schema.triggers; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.triggers SET trigger_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.triggers WHERE trigger_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.triggers; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_triggers ON information_schema.triggers(trigger_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.triggers DROP PRIMARY KEY; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.triggers ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.triggers; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.triggers RENAME db_datadict.triggers; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/is_user_privileges.result b/mysql-test/suite/funcs_1/r/is_user_privileges.result new file mode 100644 index 00000000000..f5fa1f858a1 --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_user_privileges.result @@ -0,0 +1,400 @@ +SHOW TABLES FROM information_schema LIKE 'USER_PRIVILEGES'; +Tables_in_information_schema (USER_PRIVILEGES) +USER_PRIVILEGES +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.USER_PRIVILEGES; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.USER_PRIVILEGES; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.USER_PRIVILEGES; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.USER_PRIVILEGES; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.16.1: INFORMATION_SCHEMA.USER_PRIVILEGES layout +######################################################################### +DESCRIBE information_schema.USER_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SHOW CREATE TABLE information_schema.USER_PRIVILEGES; +Table Create Table +USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` ( + `GRANTEE` varchar(81) NOT NULL default '', + `TABLE_CATALOG` varchar(512) default NULL, + `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', + `IS_GRANTABLE` varchar(3) NOT NULL default '' +) ENGINE=MEMORY DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.USER_PRIVILEGES; +Field Type Null Key Default Extra +GRANTEE varchar(81) NO +TABLE_CATALOG varchar(512) YES NULL +PRIVILEGE_TYPE varchar(64) NO +IS_GRANTABLE varchar(3) NO +SELECT grantee, table_catalog, privilege_type +FROM information_schema.user_privileges +WHERE table_catalog IS NOT NULL; +grantee table_catalog privilege_type +########################################################################## +# Testcases 3.2.16.2+3.2.16.3+3.2.16.4: INFORMATION_SCHEMA.USER_PRIVILEGES +# accessible information +########################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +GRANT SELECT ON mysql.user TO 'testuser1'@'localhost'; +GRANT INSERT ON *.* TO 'testuser2'@'localhost'; +GRANT UPDATE ON *.* TO 'testuser2'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +# +# Add GRANT OPTION db_datadict.* to testuser1; +GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +SHOW GRANTS; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT, UPDATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' + +# Now add SELECT on *.* to testuser1; +# Switch to connection default +GRANT SELECT ON *.* TO 'testuser1'@'localhost'; +# +# Here <SELECT NO> is shown correctly for testuser1; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL SELECT NO +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 Y N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +# +# Here <SELECT YES> is shown correctly for testuser1; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL SELECT YES +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +# Switch to connection testuser1 +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL SELECT YES +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +SHOW GRANTS; +Grants for testuser1@localhost +GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT, UPDATE ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 'user' +SHOW GRANTS; +Grants for testuser2@localhost +GRANT INSERT, UPDATE ON *.* TO 'testuser2'@'localhost' +# Establish connection testuser3 (user=testuser3) +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +ERROR 42000: SELECT command denied to user 'testuser3'@'localhost' for table 'user' +SHOW GRANTS; +Grants for testuser3@localhost +GRANT USAGE ON *.* TO 'testuser3'@'localhost' + +# Revoke privileges from testuser1; +# Switch to connection default +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +# Switch to connection testuser1 +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user' +SHOW GRANTS; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +CREATE TABLE db_datadict.tb_55 ( c1 TEXT ); +ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_55' +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user' +SHOW GRANTS; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +CREATE TABLE db_datadict.tb_66 ( c1 TEXT ); +ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_66' + +# Add ALL on db_datadict.* (and select on mysql.user) to testuser1; +# Switch to connection default +GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT ON mysql.user TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +# Switch to connection testuser1 +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +SHOW GRANTS; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' +CREATE TABLE db_datadict.tb_56 ( c1 TEXT ); +ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb_56' +USE db_datadict; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +SHOW GRANTS; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'testuser1'@'localhost' WITH GRANT OPTION +GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost' +CREATE TABLE tb_57 ( c1 TEXT ) +ENGINE = <other_engine_type>; + +# Revoke privileges from testuser1; +# Switch to connection default +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +'testuser2'@'localhost' NULL INSERT NO +'testuser2'@'localhost' NULL UPDATE NO +'testuser3'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections +localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 +# Switch to connection testuser1 +SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user' +SHOW GRANTS; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +CREATE TABLE db_datadict.tb_58 ( c1 TEXT ) +ENGINE = <other_engine_type>; +USE db_datadict; +ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'db_datadict' +CREATE TABLE db_datadict.tb_59 ( c1 TEXT ) +ENGINE = <other_engine_type>; +# Switch to connection default and close connections testuser1,testuser2,testuser3 +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE IF EXISTS db_datadict; +######################################################################################## +# Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.USER_PRIVILEGES modifications +######################################################################################## +SELECT * FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +SHOW GRANTS FOR 'testuser1'@'localhost'; +ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost' +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL USAGE NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT USAGE ON *.* TO 'testuser1'@'localhost' +GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +'testuser1'@'localhost' NULL SELECT NO +'testuser1'@'localhost' NULL FILE NO +SHOW GRANTS FOR 'testuser1'@'localhost'; +Grants for testuser1@localhost +GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost' +DROP USER 'testuser1'@'localhost'; +SELECT * FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE +SHOW GRANTS FOR 'testuser1'@'localhost'; +ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost' +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA tables are not supported +######################################################################## +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +INSERT INTO information_schema.user_privileges +SELECT * FROM information_schema.user_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.user_privileges +SET PRIVILEGE_TYPE = 'gaming'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.user_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX i1 ON information_schema.user_privileges(grantee); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.user_privileges ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.user_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.user_privileges +RENAME db_datadict.user_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.user_privileges +RENAME information_schema.xuser_privileges; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP USER 'testuser1'@'localhost'; diff --git a/mysql-test/suite/funcs_1/r/is_views.result b/mysql-test/suite/funcs_1/r/is_views.result new file mode 100644 index 00000000000..b6fe00e30ae --- /dev/null +++ b/mysql-test/suite/funcs_1/r/is_views.result @@ -0,0 +1,238 @@ +SHOW TABLES FROM information_schema LIKE 'VIEWS'; +Tables_in_information_schema (VIEWS) +VIEWS +####################################################################### +# Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +####################################################################### +DROP VIEW IF EXISTS test.v1; +DROP PROCEDURE IF EXISTS test.p1; +DROP FUNCTION IF EXISTS test.f1; +CREATE VIEW test.v1 AS SELECT * FROM information_schema.VIEWS; +CREATE PROCEDURE test.p1() SELECT * FROM information_schema.VIEWS; +CREATE FUNCTION test.f1() returns BIGINT +BEGIN +DECLARE counter BIGINT DEFAULT NULL; +SELECT COUNT(*) INTO counter FROM information_schema.VIEWS; +RETURN counter; +END// +# Attention: The printing of the next result sets is disabled. +SELECT * FROM information_schema.VIEWS; +SELECT * FROM test.v1; +CALL test.p1; +SELECT test.f1(); +DROP VIEW test.v1; +DROP PROCEDURE test.p1; +DROP FUNCTION test.f1; +######################################################################### +# Testcase 3.2.13.1: INFORMATION_SCHEMA.VIEWS layout +######################################################################### +DESCRIBE information_schema.VIEWS; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +VIEW_DEFINITION longtext NO NULL +CHECK_OPTION varchar(8) NO +IS_UPDATABLE varchar(3) NO +DEFINER varchar(77) NO +SECURITY_TYPE varchar(7) NO +SHOW CREATE TABLE information_schema.VIEWS; +Table Create Table +VIEWS CREATE TEMPORARY TABLE `VIEWS` ( + `TABLE_CATALOG` varchar(512) default NULL, + `TABLE_SCHEMA` varchar(64) NOT NULL default '', + `TABLE_NAME` varchar(64) NOT NULL default '', + `VIEW_DEFINITION` longtext NOT NULL, + `CHECK_OPTION` varchar(8) NOT NULL default '', + `IS_UPDATABLE` varchar(3) NOT NULL default '', + `DEFINER` varchar(77) NOT NULL default '', + `SECURITY_TYPE` varchar(7) NOT NULL default '' +) ENGINE=MyISAM DEFAULT CHARSET=utf8 +SHOW COLUMNS FROM information_schema.VIEWS; +Field Type Null Key Default Extra +TABLE_CATALOG varchar(512) YES NULL +TABLE_SCHEMA varchar(64) NO +TABLE_NAME varchar(64) NO +VIEW_DEFINITION longtext NO NULL +CHECK_OPTION varchar(8) NO +IS_UPDATABLE varchar(3) NO +DEFINER varchar(77) NO +SECURITY_TYPE varchar(7) NO +SELECT table_catalog, table_schema, table_name +FROM information_schema.views WHERE table_catalog IS NOT NULL; +table_catalog table_schema table_name +################################################################################ +# Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information +################################################################################ +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +DROP USER 'test_no_views'@'localhost'; +CREATE USER 'test_no_views'@'localhost'; +CREATE TABLE db_datadict.t1(f1 INT, f2 INT, f3 INT) +ENGINE = <engine_type>; +CREATE VIEW db_datadict.v_granted_to_1 AS SELECT * FROM db_datadict.t1; +CREATE VIEW db_datadict.v_granted_glob AS SELECT f2, f3 FROM db_datadict.t1; +GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost'; +GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost'; +SELECT * FROM information_schema.views +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE +NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER +NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`t1`.`f1` AS `f1`,`db_datadict`.`t1`.`f2` AS `f2`,`db_datadict`.`t1`.`f3` AS `f3` from `db_datadict`.`t1` NONE YES root@localhost DEFINER +# Establish connection testuser1 (user=testuser1) +SELECT * FROM information_schema.views +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE +NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER +# Establish connection testuser2 (user=testuser2) +SELECT * FROM information_schema.views +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE +NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER +NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER +# Establish connection test_no_views (user=test_no_views) +SELECT * FROM information_schema.views +WHERE table_schema = 'db_datadict' ORDER BY table_name; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE +# Switch to connection default and close all other connections +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'test_no_views'@'localhost'; +DROP DATABASE db_datadict; +######################################################################### +# 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.VIEWS modifications +######################################################################### +DROP TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = <engine_type>; +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +SELECT * FROM information_schema.views +WHERE table_name LIKE 't1_%'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE +CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table; +SELECT * FROM information_schema.views +WHERE table_name LIKE 't1_%'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE +NULL test t1_view /* ALGORITHM=UNDEFINED */ select distinct `test`.`t1_table`.`f1` AS `f1` from `test`.`t1_table` NONE NO root@localhost DEFINER +SELECT table_name,definer FROM information_schema.views +WHERE table_name = 't1_view'; +table_name definer +t1_view root@localhost +ALTER DEFINER = 'testuser1'@'localhost' VIEW test.t1_view AS +SELECT DISTINCT f1 FROM test.t1_table; +SELECT table_name,definer,security_type FROM information_schema.views +WHERE table_name LIKE 't1_%'; +table_name definer security_type +t1_view testuser1@localhost DEFINER +ALTER DEFINER = 'root'@'localhost' SQL SECURITY INVOKER VIEW test.t1_view AS +SELECT f1 FROM test.t1_table WITH LOCAL CHECK OPTION; +SELECT table_name,definer,security_type FROM information_schema.views +WHERE table_name LIKE 't1_%'; +table_name definer security_type +t1_view root@localhost INVOKER +SELECT table_schema,table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +table_schema table_name +test t1_view +RENAME TABLE test.t1_view TO db_datadict.t1_view; +ERROR HY000: Changing schema from 'test' to 'db_datadict' is not allowed. +DROP VIEW test.t1_view; +CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table; +SELECT table_schema,table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +table_schema table_name +db_datadict t1_view +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_view +RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_viewx +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_viewx +DROP VIEW db_datadict.t1_viewx; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_view +DROP TABLE test.t1_table; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_view +Warnings: +Warning 1356 View 'db_datadict.t1_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them +CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Initial Comment' +ENGINE = <engine_type>; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +t1_view +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +table_name +DROP USER 'testuser1'@'localhost'; +DROP TABLE test.t1_table; +######################################################################## +# Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +# DDL on INFORMATION_SCHEMA table are not supported +######################################################################## +DROP DATABASE IF EXISTS db_datadict; +CREATE DATABASE db_datadict; +CREATE VIEW db_datadict.v1 AS SELECT 1; +INSERT INTO information_schema.views +SELECT * FROM information_schema.views; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +INSERT INTO information_schema.views(table_schema, table_name) +VALUES ('db2', 'v2'); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +UPDATE information_schema.views SET table_schema = 'test' +WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DELETE FROM information_schema.views WHERE table_name = 't1'; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +TRUNCATE information_schema.views; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +CREATE INDEX my_idx_on_views ON information_schema.views(table_schema); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.views DROP PRIMARY KEY; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.views ADD f1 INT; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP TABLE information_schema.views; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.views RENAME db_datadict.views; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +ALTER TABLE information_schema.views RENAME information_schema.xviews; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/r/memory__datadict.result b/mysql-test/suite/funcs_1/r/memory__datadict.result deleted file mode 100644 index 22385d98737..00000000000 --- a/mysql-test/suite/funcs_1/r/memory__datadict.result +++ /dev/null @@ -1,12814 +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@1.2477.6.3, 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; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -drop table if exists tb1 ; -create table tb1 ( -f1 char, -f2 char binary, -f3 char ascii, -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 not null DEFAULT 9.9, -f34 decimal unsigned not null DEFAULT 9.9, -f35 decimal zerofill not null DEFAULT 9.9, -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 = memory; -Warnings: -Note 1265 Data truncated for column 'f33' at row 1 -Note 1265 Data truncated for column 'f34' at row 1 -Note 1265 Data truncated for column 'f35' at row 1 -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/memory_tb1.txt' into table tb1 ; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -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 = memory; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table tb2 ; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -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 char(50), -f122 char(50), -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 = memory; -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/memory_tb3.txt' into table tb3 ; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -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"), -f236 char(95) unicode, -f241 char(255) unicode, -f237 char(130) binary, -f238 varchar(25000) binary, -f239 varbinary(0), -f240 varchar(1200) unicode -) engine = memory; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb4.txt' into table tb4 ; -USE test1; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -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 = memory; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_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 = memory; -CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory; -CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory; -CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory; -CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = memory; -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 = memory; -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 = memory; -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 = memory; -CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = memory; -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 = memory; -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 -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -select * from schemata ORDER BY 2 DESC, 1 ASC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test4 latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -SELECT * FROM tables -WHERE table_schema = 'information_schema'; -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME CHARACTER_SETS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATIONS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMNS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMN_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME KEY_COLUMN_USAGE -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME ROUTINES -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMATA -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMA_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME STATISTICS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_CONSTRAINTS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TRIGGERS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME USER_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME VIEWS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -SELECT * FROM tables -WHERE NOT( table_schema = 'information_schema') -AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%'); -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME v1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME columns_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Column privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME db -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 2 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME func -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT User defined functions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME host -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Host privileges; Merged with database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME proc -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 1 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Stored Procedures -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME procs_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Procedure privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME tables_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Table privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 5 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT 6 -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_leap_second -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 22 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Leap seconds information for time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_name -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 6 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone names -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 393 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transitions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition_type -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 31 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transition types -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME user -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 3 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Users and global privileges -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t1 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t10 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t11 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t2 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t3 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t4 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t7 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t8 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t9 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb1 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb3 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb4 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test1 -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test4 -TABLE_NAME t6 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -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; -catalog_name schema_name default_character_set_name table_type engine -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -select * from columns; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references -NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references -NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references -NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references -NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references -NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references -NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references -NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references -NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references -NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references -NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references -NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references -NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references -NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references -NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references -NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references -NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references -NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references -NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references -NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references -NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references -NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references -NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references -NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f129 6 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references -NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references -NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references -NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select * from character_sets; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -latin1 latin1_swedish_ci cp1252 West European 1 -latin2 latin2_general_ci ISO 8859-2 Central European 1 -swe7 swe7_swedish_ci 7bit Swedish 1 -ascii ascii_general_ci US ASCII 1 -ujis ujis_japanese_ci EUC-JP Japanese 3 -sjis sjis_japanese_ci Shift-JIS Japanese 2 -hebrew hebrew_general_ci ISO 8859-8 Hebrew 1 -tis620 tis620_thai_ci TIS620 Thai 1 -euckr euckr_korean_ci EUC-KR Korean 2 -koi8u koi8u_general_ci KOI8-U Ukrainian 1 -gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2 -greek greek_general_ci ISO 8859-7 Greek 1 -cp1250 cp1250_general_ci Windows Central European 1 -gbk gbk_chinese_ci GBK Simplified Chinese 2 -latin5 latin5_turkish_ci ISO 8859-9 Turkish 1 -armscii8 armscii8_general_ci ARMSCII-8 Armenian 1 -utf8 utf8_general_ci UTF-8 Unicode 3 -ucs2 ucs2_general_ci UCS-2 Unicode 2 -cp866 cp866_general_ci DOS Russian 1 -keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1 -macce macce_general_ci Mac Central European 1 -macroman macroman_general_ci Mac West European 1 -cp852 cp852_general_ci DOS Central European 1 -latin7 latin7_general_ci ISO 8859-13 Baltic 1 -cp1251 cp1251_general_ci Windows Cyrillic 1 -cp1256 cp1256_general_ci Windows Arabic 1 -cp1257 cp1257_general_ci Windows Baltic 1 -binary binary Binary pseudo charset 1 -geostd8 geostd8_general_ci GEOSTD8 Georgian 1 -cp932 cp932_japanese_ci SJIS for Windows Japanese 2 -eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3 -select sum(id) from collations where collation_name <> 'utf8_general_cs'; -sum(id) -10741 -select collation_name, character_set_name into @x,@y -from collation_character_set_applicability limit 1; -select @x, @y; -@x @y -big5_chinese_ci big5 -select * from routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -select count(*) from routines; -count(*) -1 -select * from statistics -where not (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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE -NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE -NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE -NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE -NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE -select * from views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER -NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges order by grantee, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * from schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -select * from table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from column_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -NULL mysql PRIMARY mysql help_keyword PRIMARY KEY -NULL mysql name mysql help_keyword UNIQUE -NULL mysql PRIMARY mysql help_relation PRIMARY KEY -NULL mysql PRIMARY mysql help_topic PRIMARY KEY -NULL mysql name mysql help_topic UNIQUE -NULL mysql PRIMARY mysql host PRIMARY KEY -NULL mysql PRIMARY mysql proc PRIMARY KEY -NULL mysql PRIMARY mysql procs_priv PRIMARY KEY -NULL mysql PRIMARY mysql tables_priv PRIMARY KEY -NULL mysql PRIMARY mysql time_zone PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY -NULL mysql PRIMARY mysql user PRIMARY KEY -select * from key_column_usage; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL -select count(*) as max_recs from key_column_usage; -max_recs -40 -select max(cardinality) from statistics -where not (table_schema = 'mysql' and table_name like 'help_%'); -max(cardinality) -393 -select concat("View '", -table_name, "' is associated with the database '", table_schema, "'.") -AS "Who is Who for the Views" - from views; -Who is Who for the Views -View 'v1' is associated with the database 'db_datadict'. -View 'vu' is associated with the database 'db_datadict'. -View 'vu1' is associated with the database 'db_datadict'. -select concat("Table or view '", table_name, -"' is associated with the database '", table_schema, "'.") as "Who is Who" - from tables; -Who is Who -Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'. -Table or view 'COLLATIONS' is associated with the database 'information_schema'. -Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'. -Table or view 'COLUMNS' is associated with the database 'information_schema'. -Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'. -Table or view 'ROUTINES' is associated with the database 'information_schema'. -Table or view 'SCHEMATA' is associated with the database 'information_schema'. -Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'STATISTICS' is associated with the database 'information_schema'. -Table or view 'TABLES' is associated with the database 'information_schema'. -Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'. -Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'TRIGGERS' is associated with the database 'information_schema'. -Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'VIEWS' is associated with the database 'information_schema'. -Table or view 'v1' is associated with the database 'db_datadict'. -Table or view 'vu' is associated with the database 'db_datadict'. -Table or view 'vu1' is associated with the database 'db_datadict'. -Table or view 'columns_priv' is associated with the database 'mysql'. -Table or view 'db' is associated with the database 'mysql'. -Table or view 'func' is associated with the database 'mysql'. -Table or view 'help_category' is associated with the database 'mysql'. -Table or view 'help_keyword' is associated with the database 'mysql'. -Table or view 'help_relation' is associated with the database 'mysql'. -Table or view 'help_topic' is associated with the database 'mysql'. -Table or view 'host' is associated with the database 'mysql'. -Table or view 'proc' is associated with the database 'mysql'. -Table or view 'procs_priv' is associated with the database 'mysql'. -Table or view 'tables_priv' is associated with the database 'mysql'. -Table or view 'time_zone' is associated with the database 'mysql'. -Table or view 'time_zone_leap_second' is associated with the database 'mysql'. -Table or view 'time_zone_name' is associated with the database 'mysql'. -Table or view 'time_zone_transition' is associated with the database 'mysql'. -Table or view 'time_zone_transition_type' is associated with the database 'mysql'. -Table or view 'user' is associated with the database 'mysql'. -Table or view 't1' is associated with the database 'test'. -Table or view 't10' is associated with the database 'test'. -Table or view 't11' is associated with the database 'test'. -Table or view 't2' is associated with the database 'test'. -Table or view 't3' is associated with the database 'test'. -Table or view 't4' is associated with the database 'test'. -Table or view 't7' is associated with the database 'test'. -Table or view 't8' is associated with the database 'test'. -Table or view 't9' is associated with the database 'test'. -Table or view 'tb1' is associated with the database 'test'. -Table or view 'tb2' is associated with the database 'test'. -Table or view 'tb3' is associated with the database 'test'. -Table or view 'tb4' is associated with the database 'test'. -Table or view 'tb2' is associated with the database 'test1'. -Table or view 't6' is associated with the database 'test4'. -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; -user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'127.0.0.1' '127.0.0.1' -'root'@'<SERVER_NAME>' '<SERVER_NAME>' -'root'@'localhost' 'localhost' -select all table_schema from schema_privileges limit 0,5; -table_schema -test -test -test -test -test -select distinct(privilege_type) from table_privileges; -privilege_type -select * from column_privileges -group by table_schema having table_schema = 'db_datadict'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from table_constraints limit 0,5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select count(*) as max_recs from key_column_usage limit 0,5; -max_recs -40 -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; -table name no of columns in the table -CHARACTER_SETS 4 -COLLATIONS 6 -COLLATION_CHARACTER_SET_APPLICABILITY 2 -COLUMNS 19 -columns_priv 7 -COLUMN_PRIVILEGES 7 -db 20 -func 4 -help_category 4 -help_keyword 2 -help_relation 2 -help_topic 6 -host 19 -KEY_COLUMN_USAGE 12 -proc 16 -procs_priv 8 -ROUTINES 20 -SCHEMATA 5 -SCHEMA_PRIVILEGES 5 -STATISTICS 15 -t1 6 -t10 6 -t11 6 -t2 6 -t3 3 -t4 6 -t6 6 -t7 4 -t8 4 -t9 3 -TABLES 21 -tables_priv 8 -TABLE_CONSTRAINTS 6 -TABLE_PRIVILEGES 6 -tb1 50 -tb2 51 -tb3 52 -tb4 57 -time_zone 2 -time_zone_leap_second 2 -time_zone_name 2 -time_zone_transition 3 -time_zone_transition_type 5 -TRIGGERS 19 -user 37 -USER_PRIVILEGES 4 -v1 21 -VIEWS 8 -vu 3 -vu1 1 - -root: simple select to check all - and never forget some - tables ------------------------------------------------------------------ -SELECT * FROM schemata LIMIT 1; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -SELECT * FROM tables LIMIT 1; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -SELECT * FROM columns LIMIT 1; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -SELECT * FROM character_sets LIMIT 1; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -SELECT * FROM collations where collation_name <> 'utf8_general_cs' LIMIT 1; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -SELECT * FROM collation_character_set_applicability where collation_name <> 'utf8_general_cs' LIMIT 1; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -SELECT * FROM routines LIMIT 1; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost -SELECT * FROM statistics LIMIT 1; -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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -SELECT * FROM views LIMIT 1; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -SELECT * FROM user_privileges LIMIT 1; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -SELECT * FROM schema_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -SELECT * FROM table_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM column_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM table_constraints LIMIT 1; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -SELECT * FROM key_column_usage LIMIT 1; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -SELECT * FROM triggers LIMIT 1; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -SELECT * FROM parameters LIMIT 1; -ERROR 42S02: Unknown table 'parameters' in information_schema -SELECT * FROM referential_constraints LIMIT 1; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema -use db_datadict; -select * from schemata; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -select * from tables; -ERROR 42S02: Table 'db_datadict.tables' doesn't exist -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 42S02: Table 'db_datadict.schemata' doesn't exist -select * from columns limit 0, 5; -ERROR 42S02: Table 'db_datadict.columns' doesn't exist -select * from character_sets limit 0, 5; -ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist -select * from collations limit 0, 5; -ERROR 42S02: Table 'db_datadict.collations' doesn't exist -select * from collation_character_set_applicability limit 0, 5; -ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist -select * from routines limit 0, 5; -ERROR 42S02: Table 'db_datadict.routines' doesn't exist -select * from statistics limit 0, 5; -ERROR 42S02: Table 'db_datadict.statistics' doesn't exist -select * from views limit 0, 5; -ERROR 42S02: Table 'db_datadict.views' doesn't exist -select * from user_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist -select * from schema_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist -select * from table_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist -select * from column_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist -select * from table_constraints limit 0, 5; -ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist -select * from key_column_usage limit 0, 5; -ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist - -will fail due to missing database name --------------------------------------- - -known error 1146: ------------------ -SELECT * FROM schemata ; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * FROM tables ; -ERROR 42S02: Table 'db_datadict.tables' doesn't exist -SELECT * FROM columns ; -ERROR 42S02: Table 'db_datadict.columns' doesn't exist -SELECT * FROM character_sets ; -ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist -SELECT * FROM collations ; -ERROR 42S02: Table 'db_datadict.collations' doesn't exist -SELECT * FROM collation_character_set_applicability ; -ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist -SELECT * FROM routines ; -ERROR 42S02: Table 'db_datadict.routines' doesn't exist -SELECT * FROM statistics ; -ERROR 42S02: Table 'db_datadict.statistics' doesn't exist -SELECT * FROM views ; -ERROR 42S02: Table 'db_datadict.views' doesn't exist -SELECT * FROM user_privileges ; -ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist -SELECT * FROM schema_privileges ; -ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist -SELECT * FROM table_privileges ; -ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist -SELECT * FROM column_privileges ; -ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist -SELECT * FROM table_constraints ; -ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist -SELECT * FROM key_column_usage ; -ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist -SELECT * FROM triggers ; -ERROR 42S02: Table 'db_datadict.triggers' doesn't exist -select * from information_schema.schemata ORDER BY 2 DESC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test4 latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME CHARACTER_SETS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATIONS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMNS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMN_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME KEY_COLUMN_USAGE -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME ROUTINES -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMATA -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMA_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME STATISTICS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_CONSTRAINTS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TRIGGERS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME USER_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME VIEWS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema') -AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%'); -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME v1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME columns_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Column privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME db -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 2 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME func -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT User defined functions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME host -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Host privileges; Merged with database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME proc -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 1 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Stored Procedures -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME procs_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Procedure privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME tables_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Table privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 5 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT 6 -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_leap_second -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 22 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Leap seconds information for time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_name -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 6 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone names -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 393 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transitions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition_type -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 31 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transition types -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME user -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 3 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Users and global privileges -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t1 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t10 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t11 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t2 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t3 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t4 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t7 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t8 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t9 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb1 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb3 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb4 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test1 -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test4 -TABLE_NAME t6 -TABLE_TYPE BASE TABLE -ENGINE MEMORY -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -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; -catalog_name schema_name default_character_set_name table_type engine -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MEMORY -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MEMORY -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MEMORY -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MEMORY -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MEMORY -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MEMORY -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -select * from information_schema.columns limit 0, 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -select * from information_schema.character_sets limit 0, 5; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -select * from information_schema.collations limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -big5_bin big5 84 Yes 1 -dec8_swedish_ci dec8 3 Yes 0 -dec8_bin dec8 69 0 -cp850_general_ci cp850 4 Yes 0 -select * from information_schema.collation_character_set_applicability limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -select * from information_schema.routines limit 0, 5; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -select * from information_schema.statistics limit 0, 5; -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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -select * from information_schema.views limit 0, 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER -NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from information_schema.user_privileges limit 0, 5; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -select * from information_schema.schema_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -select * from information_schema.table_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from information_schema.column_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from information_schema.table_constraints limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select * from information_schema.key_column_usage limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -select count(*) as max_recs from information_schema.key_column_usage limit 0, 5; -max_recs -40 - -root: check with db name ------------------------- -SELECT COUNT(*) FROM information_schema. schemata ; -COUNT(*) -6 -SELECT COUNT(*) FROM information_schema. tables ; -COUNT(*) -51 -SELECT COUNT(*) FROM information_schema. columns ; -COUNT(*) -642 -SELECT COUNT(*) FROM information_schema. character_sets ; -COUNT(*) -36 -SELECT COUNT(*) FROM information_schema. collations where collation_name <> 'utf8_general_cs' ; -COUNT(*) -126 -SELECT COUNT(*) FROM information_schema. collation_character_set_applicability where collation_name <> 'utf8_general_cs' ; -COUNT(*) -126 -SELECT COUNT(*) FROM information_schema. routines ; -COUNT(*) -1 -SELECT COUNT(*) FROM information_schema. statistics ; -COUNT(*) -43 -SELECT COUNT(*) FROM information_schema. views ; -COUNT(*) -3 -SELECT COUNT(*) FROM information_schema. user_privileges ; -COUNT(*) -75 -SELECT COUNT(*) FROM information_schema. schema_privileges ; -COUNT(*) -28 -SELECT COUNT(*) FROM information_schema. table_privileges ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. column_privileges ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. table_constraints ; -COUNT(*) -20 -SELECT COUNT(*) FROM information_schema. key_column_usage ; -COUNT(*) -40 -SELECT COUNT(*) FROM information_schema. triggers ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. parameters ; -ERROR 42S02: Unknown table 'parameters' in information_schema -SELECT COUNT(*) FROM information_schema. referential_constraints ; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema -USE db_datadict; -DROP VIEW v1, vu1, vu; -DROP PROCEDURE db_datadict.sp_1; -USE information_schema; - -Testcase 3.2.1.2: --------------------------------------------------------------------------------- -select catalog_name, schema_name, default_character_set_name -from schemata where schema_name like '%s%'; -catalog_name schema_name default_character_set_name -NULL information_schema utf8 -NULL mysql latin1 -NULL test latin1 -NULL test1 latin1 -NULL test4 latin1 -select count(*) as tot_tabs from tables; -tot_tabs -48 -select count(*) as the_cols from columns; -the_cols -617 -select max(maxlen) as the_max from character_sets; -the_max -3 -select * from collations order by id asc limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -latin2_czech_cs latin2 2 Yes 4 -dec8_swedish_ci dec8 3 Yes 0 -cp850_general_ci cp850 4 Yes 0 -latin1_german1_ci latin1 5 Yes 1 -select * from collation_character_set_applicability -order by character_set_name desc, collation_name limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME -utf8_bin utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_esperanto_ci utf8 -utf8_estonian_ci utf8 -select routine_definition from routines; -routine_definition -select * from statistics where table_name not like 'help_%' -group by index_name asc limit 0, 5; -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 procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -select concat(table_schema, ', ', table_name, ', ', view_definition) view_info -from views; -view_info -select concat(table_schema, ', ', table_name) "Table_info" - from tables ORDER BY 1; -Table_info -information_schema, CHARACTER_SETS -information_schema, COLLATIONS -information_schema, COLLATION_CHARACTER_SET_APPLICABILITY -information_schema, COLUMNS -information_schema, COLUMN_PRIVILEGES -information_schema, KEY_COLUMN_USAGE -information_schema, ROUTINES -information_schema, SCHEMATA -information_schema, SCHEMA_PRIVILEGES -information_schema, STATISTICS -information_schema, TABLES -information_schema, TABLE_CONSTRAINTS -information_schema, TABLE_PRIVILEGES -information_schema, TRIGGERS -information_schema, USER_PRIVILEGES -information_schema, VIEWS -mysql, columns_priv -mysql, db -mysql, func -mysql, help_category -mysql, help_keyword -mysql, help_relation -mysql, help_topic -mysql, host -mysql, proc -mysql, procs_priv -mysql, tables_priv -mysql, time_zone -mysql, time_zone_leap_second -mysql, time_zone_name -mysql, time_zone_transition -mysql, time_zone_transition_type -mysql, user -test, t1 -test, t10 -test, t11 -test, t2 -test, t3 -test, t4 -test, t7 -test, t8 -test, t9 -test, tb1 -test, tb2 -test, tb3 -test, tb4 -test1, tb2 -test4, t6 -select distinct grantee from user_privileges order by grantee, privilege_type; -grantee -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'localhost' -select * from schema_privileges where table_catalog is null limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -select * from table_privileges where grantee like '%r%' limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from column_privileges where table_catalog is not null limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select HIGH_PRIORITY * from table_constraints -group by constraint_name desc limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select sum(ordinal_position) from key_column_usage; -sum(ordinal_position) -77 -select * from schemata limit 0,5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -select * from schemata limit 0,5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -select distinct grantee from user_privileges; -grantee -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'localhost' -select all grantee from user_privileges order by grantee, privilege_type; -grantee -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -select id , character_set_name from collations order by id asc limit 10; -id character_set_name -1 big5 -2 latin2 -3 dec8 -4 cp850 -5 latin1 -6 hp8 -7 koi8r -8 latin1 -9 latin2 -10 swe7 -select table_catalog from columns -union all -select table_catalog from tables limit 0,5; -table_catalog -NULL -NULL -NULL -NULL -NULL -select table_catalog from columns -union -select table_catalog from tables limit 0,5; -table_catalog -NULL -select all schema_name from information_schema.schemata; -schema_name -information_schema -db_datadict -mysql -test -test1 -test4 -SELECT * -INTO OUTFILE '../tmp/out.memory.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -USE test; -SELECT * -INTO OUTFILE '../tmp/out.memory.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CREATE USER user_3212@localhost; -GRANT ALL ON db_datadict.* TO user_3212@localhost; -GRANT FILE ON *.* TO user_3212@localhost; -connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -user_3212@localhost db_datadict -SELECT * -INTO OUTFILE '../tmp/out.memory.user.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * -FROM schemata LIMIT 0, 5; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * -INTO OUTFILE '../tmp/out.memory.user.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -SELECT * -FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -USE information_schema; -SELECT * -INTO OUTFILE '../tmp/out.memory.user_2.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -SELECT * -FROM schemata LIMIT 0, 5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -SELECT * -INTO OUTFILE '../tmp/out.memory.user_2.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -SELECT * -FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -USE information_schema; - -root@localhost information_schema -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; -1 2 3 4 -NULL information_schema CHARACTER_SETS MAXLEN -NULL information_schema CHARACTER_SETS DESCRIPTION -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME -NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW -NULL information_schema COLLATIONS SORTLEN -NULL information_schema COLLATIONS IS_DEFAULT -NULL information_schema COLLATIONS IS_COMPILED -NULL information_schema COLLATIONS ID -NULL information_schema COLLATIONS COLLATION_NAME -NULL information_schema COLLATIONS CHARACTER_SET_NAME -NULL information_schema COLLATIONS *** type = SYSTEM VIEW -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW -NULL information_schema COLUMNS TABLE_SCHEMA -NULL information_schema COLUMNS TABLE_NAME -NULL information_schema COLUMNS TABLE_CATALOG -NULL information_schema COLUMNS PRIVILEGES -NULL information_schema COLUMNS ORDINAL_POSITION -NULL information_schema COLUMNS NUMERIC_SCALE -NULL information_schema COLUMNS NUMERIC_PRECISION -NULL information_schema COLUMNS IS_NULLABLE -NULL information_schema COLUMNS EXTRA -NULL information_schema COLUMNS DATA_TYPE -NULL information_schema COLUMNS COLUMN_TYPE -NULL information_schema COLUMNS COLUMN_NAME -NULL information_schema COLUMNS COLUMN_KEY -NULL information_schema COLUMNS COLUMN_DEFAULT -NULL information_schema COLUMNS COLUMN_COMMENT -use information_schema; -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; -1 2 3 4 -NULL information_schema CHARACTER_SETS MAXLEN -NULL information_schema CHARACTER_SETS DESCRIPTION -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME -NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW -NULL information_schema COLLATIONS SORTLEN -NULL information_schema COLLATIONS IS_DEFAULT -NULL information_schema COLLATIONS IS_COMPILED -NULL information_schema COLLATIONS ID -NULL information_schema COLLATIONS COLLATION_NAME -NULL information_schema COLLATIONS CHARACTER_SET_NAME -NULL information_schema COLLATIONS *** type = SYSTEM VIEW -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW -NULL information_schema COLUMNS TABLE_SCHEMA -NULL information_schema COLUMNS TABLE_NAME -NULL information_schema COLUMNS TABLE_CATALOG -NULL information_schema COLUMNS PRIVILEGES -NULL information_schema COLUMNS ORDINAL_POSITION -NULL information_schema COLUMNS NUMERIC_SCALE -NULL information_schema COLUMNS NUMERIC_PRECISION -NULL information_schema COLUMNS IS_NULLABLE -NULL information_schema COLUMNS EXTRA -NULL information_schema COLUMNS DATA_TYPE -NULL information_schema COLUMNS COLUMN_TYPE -NULL information_schema COLUMNS COLUMN_NAME -NULL information_schema COLUMNS COLUMN_KEY -NULL information_schema COLUMNS COLUMN_DEFAULT -NULL information_schema COLUMNS COLUMN_COMMENT -DROP USER user_3212@localhost; - -Testcase 3.2.1.3: --------------------------------------------------------------------------------- -insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path) -values ('null', 'db1', 'latin1', 'null'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into tables (table_schema, table_name)values('db_datadict', 't1'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into columns (table_name, column_name)values('t3', 'f2'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into character_sets (character_set_name, default_collate_name, description, maxlen) -values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen) -values ('cp1251_bin', 'cp1251', 50, '', '', 0); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into collation_character_set_applicability (collation_name, character_set_name) -values (' big5_chinese_ci', 'big6'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into routines(routine_name, routine_type ) values ('p2', 'procedure'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into statistics(table_schema, table_name, index_name) -values ('mysql', 'db', 'primary'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into views(table_schema, table_name) values ('db2', 'v2'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into table_privileges (able_schema, table_name, privilege_type) -values('db2', 'v2', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into column_privileges (table_name, column_name, privilege_type) -values ('t3', 'f3', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into table_constraints ( constraint_schema, constraint_name, table_schema) -values ('primary', 'mysql', 'user'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into key_column_usage (constraint_schema, constraint_name, table_name) -values ('mysql', 'primary', 'db'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_3; -create procedure db_datadict.sp_4_1_3() -begin -insert into information_schema.schema_privileges (table_schema,privilege_type) -values('db2','insert'); -end// -SELECT table_schema, privilege_type FROM information_schema.schema_privileges -WHERE table_schema LIKE 'db%'; -table_schema privilege_type -call db_datadict.sp_4_1_3(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -SELECT table_schema, privilege_type FROM information_schema.schema_privileges -WHERE table_schema LIKE 'db%'; -table_schema privilege_type -drop procedure db_datadict.sp_4_1_3; -CREATE USER user_4_1_3@localhost; -connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_3@localhost test -use information_schema; -insert into table_constraints ( constraint_schema, constraint_name, table_schema) -values ('primary', 'mysql', 'user'); -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema - -Testcase 3.2.1.4: --------------------------------------------------------------------------------- -use information_schema; - -root@localhost information_schema -update schemata set schema_name = 'db5' where default_character_set_name = 'latin1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update tables set table_schema = 'db_datadict1' where table_name = 't1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update character_sets set character_set_name = 'cp1252' where maxlen = 1; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update collations set collation_name = 'cp1253_bin' - where character_set_name = 'cp1251'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update collation_character_set_applicability set collation_name = 'big6_chinese_ci' - where character_set_name = 'big6'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update routines set routine_name = p2 where routine_body = 'sql'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update statistics set table_schema = 'mysql1' where table_name = 'db'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update views set table_schema = 'db3' where table_name = 'v1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update user_privileges set privilege_type = 'insert' where is_grantable = 'yes'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update schema_privileges set table_schema = 'db2' where privilege_type = 'select'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update table_privileges set table_name = 'v3' where privilege_type = 'select'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update column_privileges set table_name = 't4' where column_name = 'f3'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update table_constraints set constraint_schema = 'primary' - where table_schema = 'proc'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update key_column_usage set table_name = 'db1' where constraint_name = 'primary'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_4; -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// -select * from information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin -update information_schema.routines set routine_name = 'p2' - where routine_name = 'sp_4_1_4'; -end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -call db_datadict.sp_4_1_4(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -select * from information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin -update information_schema.routines set routine_name = 'p2' - where routine_name = 'sp_4_1_4'; -end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -drop procedure db_datadict.sp_4_1_4; -use information_schema; - -user_4_1_3@localhost information_schema -update user_privileges set privilege_type = 'insert' where is_grantable = 'yes'; -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema - -Testcase 3.2.1.5: --------------------------------------------------------------------------------- -use information_schema; - -root: DELETE FROM any table in IS ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DELETE FROM schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from schemata where schema_name = 'mysql'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from tables where table_name = 'abc'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from columns; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from character_sets; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from collations; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from collation_character_set_applicability; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from routines; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from statistics; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from views; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from user_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from schema_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from table_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from column_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from table_constraints; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from key_column_usage; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_5; -create procedure db_datadict.sp_4_1_5() -begin -delete from information_schema.column_privileges; -end// -call db_datadict.sp_4_1_5(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure db_datadict.sp_4_1_5; -use information_schema; - -user_4_1_3@localhost information_schema -delete from tables where table_name = 'abc'; -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_3@localhost; - -Testcase 3.2.1.6: --------------------------------------------------------------------------------- -use information_schema; - -root: create a table with a name of an IS table directly in IS --------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE schemata ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE tables ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE columns ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE collations ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE routines ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE statistics ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE views ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE triggers ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create table t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -use db_datadict; - -root: create a table with a name of an IS table from other db -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE information_schema. schemata ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. tables ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. columns ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collations ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. routines ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. statistics ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. views ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. triggers ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create table information_schema.t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -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; -Grants for user_4_1_6@localhost -GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost' -connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_6@localhost information_schema -use information_schema; - -user: create a table with a name of an IS table directly in IS --------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE schemata ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE tables ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE columns ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE collations ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE routines ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE statistics ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE views ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE triggers ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -create table t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -use test; - -user: create a table with a name of an IS table from other db -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE information_schema. schemata ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. tables ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. columns ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collations ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. routines ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. statistics ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. views ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. triggers ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -create table information_schema.t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema - -root@localhost db_datadict -DROP USER user_4_1_6@localhost; - -Testcase 3.2.1.7: --------------------------------------------------------------------------------- -use information_schema; - -root: create a view with a name of an IS table directly in IS -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW schemata AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW tables AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW columns AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW collations AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW routines AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW statistics AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW views AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW triggers AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW v1 AS SELECT * FROM information_schema.schemata; -ERROR 42S02: Unknown table 'v1' in information_schema -USE db_datadict; - -root: create a view with a name of an IS table from other db ------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW v1 AS SELECT * FROM information_schema.columns; -SELECT * FROM v1 LIMIT 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -CREATE USER user_4_1_7@localhost; -GRANT ALL ON db_datadict.* TO user_4_1_7@localhost; -GRANT ALL ON information_schema.* TO user_4_1_7@localhost; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_7@localhost information_schema - -user: create a view with a name of an IS table directly in IS -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW schemata AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW tables AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW columns AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW collations AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW routines AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW statistics AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW views AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW triggers AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -create view v1 as select * from table_privileges; -ERROR 42S02: Unknown table 'v1' in information_schema -use db_datadict; - -user: create a view with a name of an IS table from other db ------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' - -root@localhost db_datadict -DROP USER user_4_1_7@localhost; -DROP VIEW db_datadict.v1; - -Testcase 3.2.1.8: --------------------------------------------------------------------------------- -use information_schema; -create index i1 on schemata(schema_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i2 on tables(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i3 on columns(table_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i4 on character_sets(character_set_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i6 on collation_character_set_applicability(collation_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i7 on routines(routine_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i8 on statistics(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i9 on views(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i10 on user_privileges(privilege_type); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i11 on schema_privileges(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i12 on table_privileges(able_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i13 on column_privileges(table_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i14 on table_constraints(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i15 on key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i16 on triggers(trigger_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use db_datadict; -create index i15 on information_schema.key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; -CREATE USER user_4_1_8@localhost; -grant select, index on *.* to user_4_1_8@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_8@localhost test -use information_schema; -create index i1 on schemata(schema_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i2 on tables(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i3 on columns(table_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i4 on character_sets(character_set_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i6 on collation_character_set_applicability(collation_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i7 on routines(routine_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i8 on statistics(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i9 on views(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i10 on user_privileges(privilege_type); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i11 on schema_privileges(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i12 on table_privileges(able_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i13 on column_privileges(table_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i14 on table_constraints(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i15 on key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i16 on triggers(trigger_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -use db_datadict; -create index i15 on information_schema.key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_8@localhost; - -Testcase 3.2.1.9: --------------------------------------------------------------------------------- - -root: alter a table from other db ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; - -root: alter a table from directly ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE schemata ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE tables ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE columns ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE collations ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE routines ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE statistics ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE views ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE triggers ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table schemata add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table tables drop primary key; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table columns add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table character_sets disable keys; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table collations enable keys; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table collation_character_set_applicability add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table routines discard tablespace; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table statistics import tablespace; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table views drop column table_name; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table user_privileges drop index privilege_type; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table schema_privileges drop column is_grantable; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table table_privileges order by constraint_type; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table column_privileges rename to aaxyz; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table table_constraints order by schema_name; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table key_column_usage rename to information_schema.aabxyz; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table triggers rename to information_schema.sql_mode; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE USER user_4_1_9@localhost; -grant select, alter, create, insert on *.* to user_4_1_9@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_9@localhost db_datadict -use db_datadict; - -user: alter a table from other db ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -use information_schema; - -user: alter a table from directly ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE schemata ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE tables ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE columns ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE collations ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE routines ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE statistics ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE views ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE triggers ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_9@localhost; - -Testcase 3.2.1.10: --------------------------------------------------------------------------------- -use information_schema; - -root: drop a table from IS --------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use db_datadict; - -root: drop a table from other db --------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE information_schema. schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; -CREATE USER user_4_1_10@localhost; -GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_10@localhost information_schema - -user: drop a table from IS --------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE schemata ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE tables ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE columns ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE character_sets ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE collations ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE collation_character_set_applicability ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE routines ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE statistics ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE views ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE user_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE schema_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE table_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE column_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE table_constraints ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE key_column_usage ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE triggers ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -use db_datadict; - -user: drop a table from other db --------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE information_schema. schemata ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. tables ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. columns ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. character_sets ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collations ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. routines ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. statistics ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. views ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. user_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. column_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_constraints ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. triggers ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_10@localhost; -CREATE USER user_4_1_11@localhost; -GRANT SUPER ON *.* TO user_4_1_11@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_11@localhost information_schema -drop table routines; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -alter table collations enable keys; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name ); -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -create view v1 as select * from schemata; -ERROR 42S02: Unknown table 'v1' in information_schema -delete from columns; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -insert into collations ( collation_name, character_set_name, id, is_default, -is_compiled, sortlen) -values ('cp1251_bin', 'cp1251', 50, '', '', 0); -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_11@localhost; - -Testcase 3.2.1.11: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -CREATE USER 'u_6_401011'@'localhost'; -GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost'; -FLUSH PRIVILEGES; -ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' - -root: move table to other DB ----------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; - -u_6_401011@localhost information_schema -ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' - -user: move table to other DB ----------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP TABLE IF EXISTS db_datadict.schemata; -DROP USER 'u_6_401011'@'localhost'; - -Testcase 3.2.1.12: --------------------------------------------------------------------------------- - -root: delete from IS tables ---------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DELETE FROM information_schema. schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.tables SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.columns SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.statistics SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.views SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.table_privileges SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.column_privileges SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.table_constraints SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.key_column_usage SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.schemata SET catalog_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.character_sets SET description = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.collations SET character_set_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.collation_character_set_applicability -SET character_set_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.routines SET routine_type = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.user_privileges SET grantee = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.schema_privileges SET grantee = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.triggers SET sql_mode = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE USER 'u_6_401012'@'localhost'; -connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; -insert into information_schema.schemata (catalog_name, schema_name, -default_character_set_name, sql_path) -values (null, information_schema1, utf16, null); -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.schemata rename db_datadict1.schemata; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.tables drop column checksum; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.statistics modify packed int; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.routines modify created int not null; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.key_column_usage drop column ordinal_position; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.table_privileges -change privilege_type rights_approved varchar(32); -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -delete from information_schema.collations; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' - -root@localhost information_schema -drop table if exists db_datadict1.schemata; -DROP USER 'u_6_401012'@'localhost'; - -Testcase 3.2.1.13: --------------------------------------------------------------------------------- -use information_schema; - -first check status >before< creating the objects ... ----------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -USE db_datadict; -create table res_t_401013(f1 char(10), f2 char(25), f3 int) -engine = memory; -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; - -now check whether all new objects exists in IS ... --------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MEMORY -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references -NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401013 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401013 FUNCTION DEFINER -sp_6_401013 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -res_t_401013 db_datadict i_6_401013 HASH -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -'u_6_401013'@'localhost' NULL USAGE NO -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -and now check whether all objects are removed from IS ... ---------------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER - -Testcase 3.2.1.14: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; - -show existing objects >before< changing them ... ------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401014 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401014 FUNCTION DEFINER -sp_6_401014 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -use db_datadict; -alter table res_t_401014 change f1 ff1 int; -alter table res_t_401014 engine = MyISAM; -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; - -now check whether the changes are visible in IS ... ---------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict utf8 utf8_general_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict res_t_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401014 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401014 FUNCTION DEFINER -sp_6_401014 PROCEDURE INVOKER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -Testcase 3.2.1.15: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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); - -show existing objects >before< dropping them ... ------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references -NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401015 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401015 FUNCTION DEFINER -sp_6_401015 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -res_t_401015 db_datadict i_6_401015 BTREE -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -'u_6_401015'@'localhost' NULL USAGE NO -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -now check they are really gone ... ----------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER - -Testcase 3.2.1.16: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; -SELECT table_schema, table_name, engine -FROM TABLES; -table_schema table_name engine -information_schema CHARACTER_SETS MEMORY -information_schema COLLATIONS MEMORY -information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY -information_schema COLUMNS MyISAM -information_schema COLUMN_PRIVILEGES MEMORY -information_schema KEY_COLUMN_USAGE MEMORY -information_schema ROUTINES MyISAM -information_schema SCHEMATA MEMORY -information_schema SCHEMA_PRIVILEGES MEMORY -information_schema STATISTICS MEMORY -information_schema TABLES MEMORY -information_schema TABLE_CONSTRAINTS MEMORY -information_schema TABLE_PRIVILEGES MEMORY -information_schema TRIGGERS MyISAM -information_schema USER_PRIVILEGES MEMORY -information_schema VIEWS MyISAM -db_datadict res_t_401016 MyISAM -test t1 MEMORY -test t10 MEMORY -test t11 MEMORY -test t2 MEMORY -test t3 MEMORY -test t4 MEMORY -test t7 MEMORY -test t8 MEMORY -test t9 MEMORY -test tb1 MEMORY -test tb2 MEMORY -test tb3 MEMORY -test tb4 MEMORY -SHOW TABLES; -Tables_in_information_schema -CHARACTER_SETS -COLLATIONS -COLLATION_CHARACTER_SET_APPLICABILITY -COLUMNS -COLUMN_PRIVILEGES -KEY_COLUMN_USAGE -ROUTINES -SCHEMATA -SCHEMA_PRIVILEGES -STATISTICS -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL - -root@localhost db_datadict -grant usage on information_schema.* to 'u_6_401016'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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 -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -use db_datadict; - -root@localhost db_datadict -DROP USER 'u_6_401016'@'localhost'; -drop table res_t_401016; -drop table res_t_401016_1; -DROP DATABASE db_hidden; - -Testcase 3.2.1.17: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401017'@'localhost'; -grant select on information_schema.* to u_6_401017@localhost; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; -select * from collation_character_set_applicability -where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -cp850_bin cp850 -hp8_english_ci hp8 -hp8_bin hp8 -koi8r_general_ci koi8r -koi8r_bin koi8r -latin1_german1_ci latin1 -latin1_swedish_ci latin1 -latin1_danish_ci latin1 -latin1_german2_ci latin1 -latin1_bin latin1 -latin1_general_ci latin1 -latin1_general_cs latin1 -latin1_spanish_ci latin1 -latin2_czech_cs latin2 -latin2_general_ci latin2 -latin2_hungarian_ci latin2 -latin2_croatian_ci latin2 -latin2_bin latin2 -swe7_swedish_ci swe7 -swe7_bin swe7 -ascii_general_ci ascii -ascii_bin ascii -ujis_japanese_ci ujis -ujis_bin ujis -sjis_japanese_ci sjis -sjis_bin sjis -hebrew_general_ci hebrew -hebrew_bin hebrew -tis620_thai_ci tis620 -tis620_bin tis620 -euckr_korean_ci euckr -euckr_bin euckr -koi8u_general_ci koi8u -koi8u_bin koi8u -gb2312_chinese_ci gb2312 -gb2312_bin gb2312 -greek_general_ci greek -greek_bin greek -cp1250_general_ci cp1250 -cp1250_czech_cs cp1250 -cp1250_croatian_ci cp1250 -cp1250_bin cp1250 -gbk_chinese_ci gbk -gbk_bin gbk -latin5_turkish_ci latin5 -latin5_bin latin5 -armscii8_general_ci armscii8 -armscii8_bin armscii8 -utf8_general_ci utf8 -utf8_bin utf8 -utf8_unicode_ci utf8 -utf8_icelandic_ci utf8 -utf8_latvian_ci utf8 -utf8_romanian_ci utf8 -utf8_slovenian_ci utf8 -utf8_polish_ci utf8 -utf8_estonian_ci utf8 -utf8_spanish_ci utf8 -utf8_swedish_ci utf8 -utf8_turkish_ci utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_lithuanian_ci utf8 -utf8_slovak_ci utf8 -utf8_spanish2_ci utf8 -utf8_roman_ci utf8 -utf8_persian_ci utf8 -utf8_esperanto_ci utf8 -utf8_hungarian_ci utf8 -ucs2_general_ci ucs2 -ucs2_bin ucs2 -ucs2_unicode_ci ucs2 -ucs2_icelandic_ci ucs2 -ucs2_latvian_ci ucs2 -ucs2_romanian_ci ucs2 -ucs2_slovenian_ci ucs2 -ucs2_polish_ci ucs2 -ucs2_estonian_ci ucs2 -ucs2_spanish_ci ucs2 -ucs2_swedish_ci ucs2 -ucs2_turkish_ci ucs2 -ucs2_czech_ci ucs2 -ucs2_danish_ci ucs2 -ucs2_lithuanian_ci ucs2 -ucs2_slovak_ci ucs2 -ucs2_spanish2_ci ucs2 -ucs2_roman_ci ucs2 -ucs2_persian_ci ucs2 -ucs2_esperanto_ci ucs2 -ucs2_hungarian_ci ucs2 -cp866_general_ci cp866 -cp866_bin cp866 -keybcs2_general_ci keybcs2 -keybcs2_bin keybcs2 -macce_general_ci macce -macce_bin macce -macroman_general_ci macroman -macroman_bin macroman -cp852_general_ci cp852 -cp852_bin cp852 -latin7_estonian_cs latin7 -latin7_general_ci latin7 -latin7_general_cs latin7 -latin7_bin latin7 -cp1251_bulgarian_ci cp1251 -cp1251_ukrainian_ci cp1251 -cp1251_bin cp1251 -cp1251_general_ci cp1251 -cp1251_general_cs cp1251 -cp1256_general_ci cp1256 -cp1256_bin cp1256 -cp1257_lithuanian_ci cp1257 -cp1257_bin cp1257 -cp1257_general_ci cp1257 -binary binary -geostd8_general_ci geostd8 -geostd8_bin geostd8 -cp932_japanese_ci cp932 -cp932_bin cp932 -eucjpms_japanese_ci eucjpms -eucjpms_bin eucjpms -select * from schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL -select table_name from tables; -table_name -CHARACTER_SETS -COLLATIONS -COLLATION_CHARACTER_SET_APPLICABILITY -COLUMNS -COLUMN_PRIVILEGES -KEY_COLUMN_USAGE -ROUTINES -SCHEMATA -SCHEMA_PRIVILEGES -STATISTICS -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -t1 -t10 -t11 -t2 -t3 -t4 -t7 -t8 -t9 -tb1 -tb2 -tb3 -tb4 -select table_name, column_name, column_type from columns; -table_name column_name column_type -CHARACTER_SETS CHARACTER_SET_NAME varchar(64) -CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64) -CHARACTER_SETS DESCRIPTION varchar(60) -CHARACTER_SETS MAXLEN bigint(3) -COLLATIONS COLLATION_NAME varchar(64) -COLLATIONS CHARACTER_SET_NAME varchar(64) -COLLATIONS ID bigint(11) -COLLATIONS IS_DEFAULT varchar(3) -COLLATIONS IS_COMPILED varchar(3) -COLLATIONS SORTLEN bigint(3) -COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64) -COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64) -COLUMNS TABLE_CATALOG varchar(4096) -COLUMNS TABLE_SCHEMA varchar(64) -COLUMNS TABLE_NAME varchar(64) -COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) -COLUMNS COLUMN_DEFAULT longtext -COLUMNS IS_NULLABLE varchar(3) -COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) -COLUMNS CHARACTER_SET_NAME varchar(64) -COLUMNS COLLATION_NAME varchar(64) -COLUMNS COLUMN_TYPE longtext -COLUMNS COLUMN_KEY varchar(3) -COLUMNS EXTRA varchar(20) -COLUMNS PRIVILEGES varchar(80) -COLUMNS COLUMN_COMMENT varchar(255) -COLUMN_PRIVILEGES GRANTEE varchar(81) -COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096) -COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64) -COLUMN_PRIVILEGES TABLE_NAME varchar(64) -COLUMN_PRIVILEGES COLUMN_NAME varchar(64) -COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64) -COLUMN_PRIVILEGES IS_GRANTABLE varchar(3) -KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096) -KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64) -KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64) -KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096) -KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64) -KEY_COLUMN_USAGE TABLE_NAME varchar(64) -KEY_COLUMN_USAGE COLUMN_NAME varchar(64) -KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10) -KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10) -KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64) -KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64) -KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64) -ROUTINES SPECIFIC_NAME varchar(64) -ROUTINES ROUTINE_CATALOG varchar(4096) -ROUTINES ROUTINE_SCHEMA varchar(64) -ROUTINES ROUTINE_NAME varchar(64) -ROUTINES ROUTINE_TYPE varchar(9) -ROUTINES DTD_IDENTIFIER varchar(64) -ROUTINES ROUTINE_BODY varchar(8) -ROUTINES ROUTINE_DEFINITION longtext -ROUTINES EXTERNAL_NAME varchar(64) -ROUTINES EXTERNAL_LANGUAGE varchar(64) -ROUTINES PARAMETER_STYLE varchar(8) -ROUTINES IS_DETERMINISTIC varchar(3) -ROUTINES SQL_DATA_ACCESS varchar(64) -ROUTINES SQL_PATH varchar(64) -ROUTINES SECURITY_TYPE varchar(7) -ROUTINES CREATED datetime -ROUTINES LAST_ALTERED datetime -ROUTINES SQL_MODE longtext -ROUTINES ROUTINE_COMMENT varchar(64) -ROUTINES DEFINER varchar(77) -SCHEMATA CATALOG_NAME varchar(4096) -SCHEMATA SCHEMA_NAME varchar(64) -SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64) -SCHEMATA DEFAULT_COLLATION_NAME varchar(64) -SCHEMATA SQL_PATH varchar(4096) -SCHEMA_PRIVILEGES GRANTEE varchar(81) -SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096) -SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64) -SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64) -SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3) -STATISTICS TABLE_CATALOG varchar(4096) -STATISTICS TABLE_SCHEMA varchar(64) -STATISTICS TABLE_NAME varchar(64) -STATISTICS NON_UNIQUE bigint(1) -STATISTICS INDEX_SCHEMA varchar(64) -STATISTICS INDEX_NAME varchar(64) -STATISTICS SEQ_IN_INDEX bigint(2) -STATISTICS COLUMN_NAME varchar(64) -STATISTICS COLLATION varchar(1) -STATISTICS CARDINALITY bigint(21) -STATISTICS SUB_PART bigint(3) -STATISTICS PACKED varchar(10) -STATISTICS NULLABLE varchar(3) -STATISTICS INDEX_TYPE varchar(16) -STATISTICS COMMENT varchar(16) -TABLES TABLE_CATALOG varchar(4096) -TABLES TABLE_SCHEMA varchar(64) -TABLES TABLE_NAME varchar(64) -TABLES TABLE_TYPE varchar(64) -TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) -TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) -TABLES CREATE_TIME datetime -TABLES UPDATE_TIME datetime -TABLES CHECK_TIME datetime -TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) -TABLES CREATE_OPTIONS varchar(255) -TABLES TABLE_COMMENT varchar(80) -TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) -TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64) -TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64) -TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64) -TABLE_CONSTRAINTS TABLE_NAME varchar(64) -TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64) -TABLE_PRIVILEGES GRANTEE varchar(81) -TABLE_PRIVILEGES TABLE_CATALOG varchar(4096) -TABLE_PRIVILEGES TABLE_SCHEMA varchar(64) -TABLE_PRIVILEGES TABLE_NAME varchar(64) -TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64) -TABLE_PRIVILEGES IS_GRANTABLE varchar(3) -TRIGGERS TRIGGER_CATALOG varchar(4096) -TRIGGERS TRIGGER_SCHEMA varchar(64) -TRIGGERS TRIGGER_NAME varchar(64) -TRIGGERS EVENT_MANIPULATION varchar(6) -TRIGGERS EVENT_OBJECT_CATALOG varchar(4096) -TRIGGERS EVENT_OBJECT_SCHEMA varchar(64) -TRIGGERS EVENT_OBJECT_TABLE varchar(64) -TRIGGERS ACTION_ORDER bigint(4) -TRIGGERS ACTION_CONDITION longtext -TRIGGERS ACTION_STATEMENT longtext -TRIGGERS ACTION_ORIENTATION varchar(9) -TRIGGERS ACTION_TIMING varchar(6) -TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64) -TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64) -TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3) -TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3) -TRIGGERS CREATED datetime -TRIGGERS SQL_MODE longtext -TRIGGERS DEFINER longtext -USER_PRIVILEGES GRANTEE varchar(81) -USER_PRIVILEGES TABLE_CATALOG varchar(4096) -USER_PRIVILEGES PRIVILEGE_TYPE varchar(64) -USER_PRIVILEGES IS_GRANTABLE varchar(3) -VIEWS TABLE_CATALOG varchar(4096) -VIEWS TABLE_SCHEMA varchar(64) -VIEWS TABLE_NAME varchar(64) -VIEWS VIEW_DEFINITION longtext -VIEWS CHECK_OPTION varchar(8) -VIEWS IS_UPDATABLE varchar(3) -VIEWS DEFINER varchar(77) -VIEWS SECURITY_TYPE varchar(7) -t1 f1 char(20) -t1 f2 char(25) -t1 f3 date -t1 f4 int(11) -t1 f5 char(25) -t1 f6 int(11) -t10 f1 char(20) -t10 f2 char(25) -t10 f3 date -t10 f4 int(11) -t10 f5 char(25) -t10 f6 int(11) -t11 f1 char(20) -t11 f2 char(25) -t11 f3 date -t11 f4 int(11) -t11 f5 char(25) -t11 f6 int(11) -t2 f1 char(20) -t2 f2 char(25) -t2 f3 date -t2 f4 int(11) -t2 f5 char(25) -t2 f6 int(11) -t3 f1 char(20) -t3 f2 char(20) -t3 f3 int(11) -t4 f1 char(20) -t4 f2 char(25) -t4 f3 date -t4 f4 int(11) -t4 f5 char(25) -t4 f6 int(11) -t7 f1 char(20) -t7 f2 char(25) -t7 f3 date -t7 f4 int(11) -t8 f1 char(20) -t8 f2 char(25) -t8 f3 date -t8 f4 int(11) -t9 f1 int(11) -t9 f2 char(25) -t9 f3 int(11) -tb1 f1 char(1) -tb1 f2 char(1) -tb1 f3 char(1) -tb1 f12 binary(1) -tb1 f13 tinyint(4) -tb1 f14 tinyint(3) unsigned -tb1 f15 tinyint(3) unsigned zerofill -tb1 f16 tinyint(3) unsigned zerofill -tb1 f17 smallint(6) -tb1 f18 smallint(5) unsigned -tb1 f19 smallint(5) unsigned zerofill -tb1 f20 smallint(5) unsigned zerofill -tb1 f21 mediumint(9) -tb1 f22 mediumint(8) unsigned -tb1 f23 mediumint(8) unsigned zerofill -tb1 f24 mediumint(8) unsigned zerofill -tb1 f25 int(11) -tb1 f26 int(10) unsigned -tb1 f27 int(10) unsigned zerofill -tb1 f28 int(10) unsigned zerofill -tb1 f29 bigint(20) -tb1 f30 bigint(20) unsigned -tb1 f31 bigint(20) unsigned zerofill -tb1 f32 bigint(20) unsigned zerofill -tb1 f33 decimal(10,0) -tb1 f34 decimal(10,0) unsigned -tb1 f35 decimal(10,0) unsigned zerofill -tb1 f36 decimal(10,0) unsigned zerofill -tb1 f37 decimal(10,0) -tb1 f38 decimal(64,0) -tb1 f39 decimal(10,0) unsigned -tb1 f40 decimal(64,0) unsigned -tb1 f41 decimal(10,0) unsigned zerofill -tb1 f42 decimal(64,0) unsigned zerofill -tb1 f43 decimal(10,0) unsigned zerofill -tb1 f44 decimal(64,0) unsigned zerofill -tb1 f45 decimal(10,0) -tb1 f46 decimal(63,30) -tb1 f47 decimal(10,0) unsigned -tb1 f48 decimal(63,30) unsigned -tb1 f49 decimal(10,0) unsigned zerofill -tb1 f50 decimal(63,30) unsigned zerofill -tb1 f51 decimal(10,0) unsigned zerofill -tb1 f52 decimal(63,30) unsigned zerofill -tb1 f53 decimal(10,0) -tb1 f54 decimal(10,0) unsigned -tb1 f55 decimal(10,0) unsigned zerofill -tb1 f56 decimal(10,0) unsigned zerofill -tb1 f57 decimal(10,0) -tb1 f58 decimal(64,0) -tb2 f59 decimal(10,0) unsigned -tb2 f60 decimal(64,0) unsigned -tb2 f61 decimal(10,0) unsigned zerofill -tb2 f62 decimal(64,0) unsigned zerofill -tb2 f63 decimal(10,0) unsigned zerofill -tb2 f64 decimal(64,0) unsigned zerofill -tb2 f65 decimal(10,0) -tb2 f66 decimal(63,30) -tb2 f67 decimal(10,0) unsigned -tb2 f68 decimal(63,30) unsigned -tb2 f69 decimal(10,0) unsigned zerofill -tb2 f70 decimal(63,30) unsigned zerofill -tb2 f71 decimal(10,0) unsigned zerofill -tb2 f72 decimal(63,30) unsigned zerofill -tb2 f73 double -tb2 f74 double unsigned -tb2 f75 double unsigned zerofill -tb2 f76 double unsigned zerofill -tb2 f77 double -tb2 f78 double unsigned -tb2 f79 double unsigned zerofill -tb2 f80 double unsigned zerofill -tb2 f81 float -tb2 f82 float unsigned -tb2 f83 float unsigned zerofill -tb2 f84 float unsigned zerofill -tb2 f85 float -tb2 f86 float -tb2 f87 float unsigned -tb2 f88 float unsigned -tb2 f89 float unsigned zerofill -tb2 f90 float unsigned zerofill -tb2 f91 float unsigned zerofill -tb2 f92 float unsigned zerofill -tb2 f93 float -tb2 f94 double -tb2 f95 float unsigned -tb2 f96 double unsigned -tb2 f97 float unsigned zerofill -tb2 f98 double unsigned zerofill -tb2 f99 float unsigned zerofill -tb2 f100 double unsigned zerofill -tb2 f101 date -tb2 f102 time -tb2 f103 datetime -tb2 f104 timestamp -tb2 f105 year(4) -tb2 f106 year(4) -tb2 f107 year(4) -tb2 f108 enum('1enum','2enum') -tb2 f109 set('1set','2set') -tb3 f118 char(1) -tb3 f119 char(1) -tb3 f120 char(1) -tb3 f121 char(50) -tb3 f122 char(50) -tb3 f129 binary(1) -tb3 f130 tinyint(4) -tb3 f131 tinyint(3) unsigned -tb3 f132 tinyint(3) unsigned zerofill -tb3 f133 tinyint(3) unsigned zerofill -tb3 f134 smallint(6) -tb3 f135 smallint(5) unsigned -tb3 f136 smallint(5) unsigned zerofill -tb3 f137 smallint(5) unsigned zerofill -tb3 f138 mediumint(9) -tb3 f139 mediumint(8) unsigned -tb3 f140 mediumint(8) unsigned zerofill -tb3 f141 mediumint(8) unsigned zerofill -tb3 f142 int(11) -tb3 f143 int(10) unsigned -tb3 f144 int(10) unsigned zerofill -tb3 f145 int(10) unsigned zerofill -tb3 f146 bigint(20) -tb3 f147 bigint(20) unsigned -tb3 f148 bigint(20) unsigned zerofill -tb3 f149 bigint(20) unsigned zerofill -tb3 f150 decimal(10,0) -tb3 f151 decimal(10,0) unsigned -tb3 f152 decimal(10,0) unsigned zerofill -tb3 f153 decimal(10,0) unsigned zerofill -tb3 f154 decimal(10,0) -tb3 f155 decimal(64,0) -tb3 f156 decimal(10,0) unsigned -tb3 f157 decimal(64,0) unsigned -tb3 f158 decimal(10,0) unsigned zerofill -tb3 f159 decimal(64,0) unsigned zerofill -tb3 f160 decimal(10,0) unsigned zerofill -tb3 f161 decimal(64,0) unsigned zerofill -tb3 f162 decimal(10,0) -tb3 f163 decimal(63,30) -tb3 f164 decimal(10,0) unsigned -tb3 f165 decimal(63,30) unsigned -tb3 f166 decimal(10,0) unsigned zerofill -tb3 f167 decimal(63,30) unsigned zerofill -tb3 f168 decimal(10,0) unsigned zerofill -tb3 f169 decimal(63,30) unsigned zerofill -tb3 f170 decimal(10,0) -tb3 f171 decimal(10,0) unsigned -tb3 f172 decimal(10,0) unsigned zerofill -tb3 f173 decimal(10,0) unsigned zerofill -tb3 f174 decimal(10,0) -tb3 f175 decimal(64,0) -tb4 f176 decimal(10,0) unsigned -tb4 f177 decimal(64,0) unsigned -tb4 f178 decimal(10,0) unsigned zerofill -tb4 f179 decimal(64,0) unsigned zerofill -tb4 f180 decimal(10,0) unsigned zerofill -tb4 f181 decimal(64,0) unsigned zerofill -tb4 f182 decimal(10,0) -tb4 f183 decimal(63,30) -tb4 f184 decimal(10,0) unsigned -tb4 f185 decimal(63,30) unsigned -tb4 f186 decimal(10,0) unsigned zerofill -tb4 f187 decimal(63,30) unsigned zerofill -tb4 f188 decimal(10,0) unsigned zerofill -tb4 f189 decimal(63,30) unsigned zerofill -tb4 f190 double -tb4 f191 double unsigned -tb4 f192 double unsigned zerofill -tb4 f193 double unsigned zerofill -tb4 f194 double -tb4 f195 double unsigned -tb4 f196 double unsigned zerofill -tb4 f197 double unsigned zerofill -tb4 f198 float -tb4 f199 float unsigned -tb4 f200 float unsigned zerofill -tb4 f201 float unsigned zerofill -tb4 f202 float -tb4 f203 float -tb4 f204 float unsigned -tb4 f205 float unsigned -tb4 f206 float unsigned zerofill -tb4 f207 float unsigned zerofill -tb4 f208 float unsigned zerofill -tb4 f209 float unsigned zerofill -tb4 f210 float -tb4 f211 double -tb4 f212 float unsigned -tb4 f213 double unsigned -tb4 f214 float unsigned zerofill -tb4 f215 double unsigned zerofill -tb4 f216 float unsigned zerofill -tb4 f217 double unsigned zerofill -tb4 f218 date -tb4 f219 time -tb4 f220 datetime -tb4 f221 timestamp -tb4 f222 year(4) -tb4 f223 year(4) -tb4 f224 year(4) -tb4 f225 enum('1enum','2enum') -tb4 f226 set('1set','2set') -tb4 f236 char(95) -tb4 f241 char(255) -tb4 f237 char(130) -tb4 f238 varchar(25000) -tb4 f239 varbinary(0) -tb4 f240 varchar(1200) -select character_set_name from character_sets; -character_set_name -big5 -dec8 -cp850 -hp8 -koi8r -latin1 -latin2 -swe7 -ascii -ujis -sjis -hebrew -tis620 -euckr -koi8u -gb2312 -greek -cp1250 -gbk -latin5 -armscii8 -utf8 -ucs2 -cp866 -keybcs2 -macce -macroman -cp852 -latin7 -cp1251 -cp1256 -cp1257 -binary -geostd8 -cp932 -eucjpms -select collation_name from collations where collation_name <> 'utf8_general_cs'; -collation_name -big5_chinese_ci -big5_bin -dec8_swedish_ci -dec8_bin -cp850_general_ci -cp850_bin -hp8_english_ci -hp8_bin -koi8r_general_ci -koi8r_bin -latin1_german1_ci -latin1_swedish_ci -latin1_danish_ci -latin1_german2_ci -latin1_bin -latin1_general_ci -latin1_general_cs -latin1_spanish_ci -latin2_czech_cs -latin2_general_ci -latin2_hungarian_ci -latin2_croatian_ci -latin2_bin -swe7_swedish_ci -swe7_bin -ascii_general_ci -ascii_bin -ujis_japanese_ci -ujis_bin -sjis_japanese_ci -sjis_bin -hebrew_general_ci -hebrew_bin -tis620_thai_ci -tis620_bin -euckr_korean_ci -euckr_bin -koi8u_general_ci -koi8u_bin -gb2312_chinese_ci -gb2312_bin -greek_general_ci -greek_bin -cp1250_general_ci -cp1250_czech_cs -cp1250_croatian_ci -cp1250_bin -gbk_chinese_ci -gbk_bin -latin5_turkish_ci -latin5_bin -armscii8_general_ci -armscii8_bin -utf8_general_ci -utf8_bin -utf8_unicode_ci -utf8_icelandic_ci -utf8_latvian_ci -utf8_romanian_ci -utf8_slovenian_ci -utf8_polish_ci -utf8_estonian_ci -utf8_spanish_ci -utf8_swedish_ci -utf8_turkish_ci -utf8_czech_ci -utf8_danish_ci -utf8_lithuanian_ci -utf8_slovak_ci -utf8_spanish2_ci -utf8_roman_ci -utf8_persian_ci -utf8_esperanto_ci -utf8_hungarian_ci -ucs2_general_ci -ucs2_bin -ucs2_unicode_ci -ucs2_icelandic_ci -ucs2_latvian_ci -ucs2_romanian_ci -ucs2_slovenian_ci -ucs2_polish_ci -ucs2_estonian_ci -ucs2_spanish_ci -ucs2_swedish_ci -ucs2_turkish_ci -ucs2_czech_ci -ucs2_danish_ci -ucs2_lithuanian_ci -ucs2_slovak_ci -ucs2_spanish2_ci -ucs2_roman_ci -ucs2_persian_ci -ucs2_esperanto_ci -ucs2_hungarian_ci -cp866_general_ci -cp866_bin -keybcs2_general_ci -keybcs2_bin -macce_general_ci -macce_bin -macroman_general_ci -macroman_bin -cp852_general_ci -cp852_bin -latin7_estonian_cs -latin7_general_ci -latin7_general_cs -latin7_bin -cp1251_bulgarian_ci -cp1251_ukrainian_ci -cp1251_bin -cp1251_general_ci -cp1251_general_cs -cp1256_general_ci -cp1256_bin -cp1257_lithuanian_ci -cp1257_bin -cp1257_general_ci -binary -geostd8_general_ci -geostd8_bin -cp932_japanese_ci -cp932_bin -eucjpms_japanese_ci -eucjpms_bin -select routine_name, routine_type from routines; -routine_name routine_type -select table_name, index_name from statistics; -table_name index_name -select table_name from views; -table_name -select privilege_type from user_privileges; -privilege_type -USAGE -select grantee, privilege_type from schema_privileges; -grantee privilege_type -select * from table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select column_name, privilege_type from column_privileges; -column_name privilege_type -select table_name,constraint_type from table_constraints; -table_name constraint_type -select table_schema, table_name, column_name from key_column_usage; -table_schema table_name column_name - -root@localhost db_datadict -DROP USER 'u_6_401017'@'localhost'; - -Testcase 3.2.1.18: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401018'@'localhost'; -GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost'; -SHOW GRANTS FOR 'u_6_401018'@'localhost'; -Grants for u_6_401018@localhost -GRANT USAGE ON *.* TO 'u_6_401018'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost' -FLUSH PRIVILEGES; -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK); -USE db_datadict; -create view db_datadict.v_401018 as -select * from information_schema.schemata; -SELECT * FROM v_401018 ORDER BY 2 DESC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL - -root@localhost NULL -DROP USER 'u_6_401018'@'localhost'; -DROP DATABASE db_datadict; - -Testcase 3.2.1.19: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401019'@'localhost'; -grant alter on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant alter routine on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create routine on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create temporary tables -on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant delete on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant drop on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant execute on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant index on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant insert on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant lock tables on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant update on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -SELECT * FROM information_schema.table_privileges -WHERE table_schema = "information_schema"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM information_schema.column_privileges -WHERE table_schema = "information_schema"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -DROP USER 'u_6_401019'@'localhost'; - -Testcase 3.2.1.20: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401020'@'localhost'; -connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL -CREATE TABLE tb_not_allowed ( col TEXT ); -ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema -create view res_v1 as select * from information_schema.schemata; -ERROR 42S02: Unknown table 'res_v1' in information_schema -alter table schemata modify catalog_name varchar(255); -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' -update schemata set catalog_name = 'abc' - where schema_name = 'information_schema'; -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' -CREATE PROCEDURE sp_3_2_1_20() -BEGIN -INSERT INTO information_schema.schema_privileges (table_schema,privilege_type) -VALUES('db2','insert'); -END// -ERROR 42000: Unknown database 'information_schema' -DELETE FROM schemata WHERE schema_name = 'information_schema'; -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' - -root@localhost NULL -DROP USER 'u_6_401020'@'localhost'; - -Testcase 3.2.2.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC character_sets; -Field Type Null Key Default Extra -CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATE_NAME varchar(64) NO -DESCRIPTION varchar(60) NO -MAXLEN bigint(3) NO 0 -SHOW CREATE TABLE character_sets; -Table Create Table -CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL default '', - `DESCRIPTION` varchar(60) NOT NULL default '', - `MAXLEN` bigint(3) NOT NULL default '0' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'character_sets' -ORDER BY ordinal_position; -COUNT(*) -4 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'character_sets' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select - -Testcase 3.2.2.2: --------------------------------------------------------------------------------- - -root@localhost information_schema -SELECT * FROM information_schema.character_sets; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -latin1 latin1_swedish_ci cp1252 West European 1 -latin2 latin2_general_ci ISO 8859-2 Central European 1 -swe7 swe7_swedish_ci 7bit Swedish 1 -ascii ascii_general_ci US ASCII 1 -ujis ujis_japanese_ci EUC-JP Japanese 3 -sjis sjis_japanese_ci Shift-JIS Japanese 2 -hebrew hebrew_general_ci ISO 8859-8 Hebrew 1 -tis620 tis620_thai_ci TIS620 Thai 1 -euckr euckr_korean_ci EUC-KR Korean 2 -koi8u koi8u_general_ci KOI8-U Ukrainian 1 -gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2 -greek greek_general_ci ISO 8859-7 Greek 1 -cp1250 cp1250_general_ci Windows Central European 1 -gbk gbk_chinese_ci GBK Simplified Chinese 2 -latin5 latin5_turkish_ci ISO 8859-9 Turkish 1 -armscii8 armscii8_general_ci ARMSCII-8 Armenian 1 -utf8 utf8_general_ci UTF-8 Unicode 3 -ucs2 ucs2_general_ci UCS-2 Unicode 2 -cp866 cp866_general_ci DOS Russian 1 -keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1 -macce macce_general_ci Mac Central European 1 -macroman macroman_general_ci Mac West European 1 -cp852 cp852_general_ci DOS Central European 1 -latin7 latin7_general_ci ISO 8859-13 Baltic 1 -cp1251 cp1251_general_ci Windows Cyrillic 1 -cp1256 cp1256_general_ci Windows Arabic 1 -cp1257 cp1257_general_ci Windows Baltic 1 -binary binary Binary pseudo charset 1 -geostd8 geostd8_general_ci GEOSTD8 Georgian 1 -cp932 cp932_japanese_ci SJIS for Windows Japanese 2 -eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3 - -Testcase 3.2.2.3: --------------------------------------------------------------------------------- - -Testcase 3.2.3.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC collations; -Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO -ID bigint(11) NO 0 -IS_DEFAULT varchar(3) NO -IS_COMPILED varchar(3) NO -SORTLEN bigint(3) NO 0 -SHOW CREATE TABLE collations; -Table Create Table -COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` ( - `COLLATION_NAME` varchar(64) NOT NULL default '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `ID` bigint(11) NOT NULL default '0', - `IS_DEFAULT` varchar(3) NOT NULL default '', - `IS_COMPILED` varchar(3) NOT NULL default '', - `SORTLEN` bigint(3) NOT NULL default '0' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collations' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collations' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select - -Testcase 3.2.3.2: --------------------------------------------------------------------------------- -SELECT * FROM collations where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -big5_bin big5 84 Yes 1 -dec8_swedish_ci dec8 3 Yes 0 -dec8_bin dec8 69 0 -cp850_general_ci cp850 4 Yes 0 -cp850_bin cp850 80 0 -hp8_english_ci hp8 6 Yes 0 -hp8_bin hp8 72 0 -koi8r_general_ci koi8r 7 Yes 0 -koi8r_bin koi8r 74 0 -latin1_german1_ci latin1 5 Yes 1 -latin1_swedish_ci latin1 8 Yes Yes 1 -latin1_danish_ci latin1 15 Yes 1 -latin1_german2_ci latin1 31 Yes 2 -latin1_bin latin1 47 Yes 1 -latin1_general_ci latin1 48 Yes 1 -latin1_general_cs latin1 49 Yes 1 -latin1_spanish_ci latin1 94 Yes 1 -latin2_czech_cs latin2 2 Yes 4 -latin2_general_ci latin2 9 Yes Yes 1 -latin2_hungarian_ci latin2 21 Yes 1 -latin2_croatian_ci latin2 27 Yes 1 -latin2_bin latin2 77 Yes 1 -swe7_swedish_ci swe7 10 Yes 0 -swe7_bin swe7 82 0 -ascii_general_ci ascii 11 Yes 0 -ascii_bin ascii 65 0 -ujis_japanese_ci ujis 12 Yes Yes 1 -ujis_bin ujis 91 Yes 1 -sjis_japanese_ci sjis 13 Yes Yes 1 -sjis_bin sjis 88 Yes 1 -hebrew_general_ci hebrew 16 Yes 0 -hebrew_bin hebrew 71 0 -tis620_thai_ci tis620 18 Yes Yes 4 -tis620_bin tis620 89 Yes 1 -euckr_korean_ci euckr 19 Yes Yes 1 -euckr_bin euckr 85 Yes 1 -koi8u_general_ci koi8u 22 Yes 0 -koi8u_bin koi8u 75 0 -gb2312_chinese_ci gb2312 24 Yes Yes 1 -gb2312_bin gb2312 86 Yes 1 -greek_general_ci greek 25 Yes 0 -greek_bin greek 70 0 -cp1250_general_ci cp1250 26 Yes Yes 1 -cp1250_czech_cs cp1250 34 Yes 2 -cp1250_croatian_ci cp1250 44 Yes 1 -cp1250_bin cp1250 66 Yes 1 -gbk_chinese_ci gbk 28 Yes Yes 1 -gbk_bin gbk 87 Yes 1 -latin5_turkish_ci latin5 30 Yes 0 -latin5_bin latin5 78 0 -armscii8_general_ci armscii8 32 Yes 0 -armscii8_bin armscii8 64 0 -utf8_general_ci utf8 33 Yes Yes 1 -utf8_bin utf8 83 Yes 1 -utf8_unicode_ci utf8 192 Yes 8 -utf8_icelandic_ci utf8 193 Yes 8 -utf8_latvian_ci utf8 194 Yes 8 -utf8_romanian_ci utf8 195 Yes 8 -utf8_slovenian_ci utf8 196 Yes 8 -utf8_polish_ci utf8 197 Yes 8 -utf8_estonian_ci utf8 198 Yes 8 -utf8_spanish_ci utf8 199 Yes 8 -utf8_swedish_ci utf8 200 Yes 8 -utf8_turkish_ci utf8 201 Yes 8 -utf8_czech_ci utf8 202 Yes 8 -utf8_danish_ci utf8 203 Yes 8 -utf8_lithuanian_ci utf8 204 Yes 8 -utf8_slovak_ci utf8 205 Yes 8 -utf8_spanish2_ci utf8 206 Yes 8 -utf8_roman_ci utf8 207 Yes 8 -utf8_persian_ci utf8 208 Yes 8 -utf8_esperanto_ci utf8 209 Yes 8 -utf8_hungarian_ci utf8 210 Yes 8 -ucs2_general_ci ucs2 35 Yes Yes 1 -ucs2_bin ucs2 90 Yes 1 -ucs2_unicode_ci ucs2 128 Yes 8 -ucs2_icelandic_ci ucs2 129 Yes 8 -ucs2_latvian_ci ucs2 130 Yes 8 -ucs2_romanian_ci ucs2 131 Yes 8 -ucs2_slovenian_ci ucs2 132 Yes 8 -ucs2_polish_ci ucs2 133 Yes 8 -ucs2_estonian_ci ucs2 134 Yes 8 -ucs2_spanish_ci ucs2 135 Yes 8 -ucs2_swedish_ci ucs2 136 Yes 8 -ucs2_turkish_ci ucs2 137 Yes 8 -ucs2_czech_ci ucs2 138 Yes 8 -ucs2_danish_ci ucs2 139 Yes 8 -ucs2_lithuanian_ci ucs2 140 Yes 8 -ucs2_slovak_ci ucs2 141 Yes 8 -ucs2_spanish2_ci ucs2 142 Yes 8 -ucs2_roman_ci ucs2 143 Yes 8 -ucs2_persian_ci ucs2 144 Yes 8 -ucs2_esperanto_ci ucs2 145 Yes 8 -ucs2_hungarian_ci ucs2 146 Yes 8 -cp866_general_ci cp866 36 Yes 0 -cp866_bin cp866 68 0 -keybcs2_general_ci keybcs2 37 Yes 0 -keybcs2_bin keybcs2 73 0 -macce_general_ci macce 38 Yes 0 -macce_bin macce 43 0 -macroman_general_ci macroman 39 Yes 0 -macroman_bin macroman 53 0 -cp852_general_ci cp852 40 Yes 0 -cp852_bin cp852 81 0 -latin7_estonian_cs latin7 20 0 -latin7_general_ci latin7 41 Yes 0 -latin7_general_cs latin7 42 0 -latin7_bin latin7 79 0 -cp1251_bulgarian_ci cp1251 14 0 -cp1251_ukrainian_ci cp1251 23 0 -cp1251_bin cp1251 50 0 -cp1251_general_ci cp1251 51 Yes 0 -cp1251_general_cs cp1251 52 0 -cp1256_general_ci cp1256 57 Yes 0 -cp1256_bin cp1256 67 0 -cp1257_lithuanian_ci cp1257 29 0 -cp1257_bin cp1257 58 0 -cp1257_general_ci cp1257 59 Yes 0 -binary binary 63 Yes Yes 1 -geostd8_general_ci geostd8 92 Yes 0 -geostd8_bin geostd8 93 0 -cp932_japanese_ci cp932 95 Yes Yes 1 -cp932_bin cp932 96 Yes 1 -eucjpms_japanese_ci eucjpms 97 Yes Yes 1 -eucjpms_bin eucjpms 98 Yes 1 - -Testcase 3.2.3.3: --------------------------------------------------------------------------------- - -Testcase 3.2.4.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC collation_character_set_applicability; -Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO -SHOW CREATE TABLE collation_character_set_applicability; -Table Create Table -COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` ( - `COLLATION_NAME` varchar(64) NOT NULL default '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collation_character_set_applicability' -ORDER BY ordinal_position; -COUNT(*) -2 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collation_character_set_applicability' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.4.2: --------------------------------------------------------------------------------- -SELECT * FROM collation_character_set_applicability -where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -cp850_bin cp850 -hp8_english_ci hp8 -hp8_bin hp8 -koi8r_general_ci koi8r -koi8r_bin koi8r -latin1_german1_ci latin1 -latin1_swedish_ci latin1 -latin1_danish_ci latin1 -latin1_german2_ci latin1 -latin1_bin latin1 -latin1_general_ci latin1 -latin1_general_cs latin1 -latin1_spanish_ci latin1 -latin2_czech_cs latin2 -latin2_general_ci latin2 -latin2_hungarian_ci latin2 -latin2_croatian_ci latin2 -latin2_bin latin2 -swe7_swedish_ci swe7 -swe7_bin swe7 -ascii_general_ci ascii -ascii_bin ascii -ujis_japanese_ci ujis -ujis_bin ujis -sjis_japanese_ci sjis -sjis_bin sjis -hebrew_general_ci hebrew -hebrew_bin hebrew -tis620_thai_ci tis620 -tis620_bin tis620 -euckr_korean_ci euckr -euckr_bin euckr -koi8u_general_ci koi8u -koi8u_bin koi8u -gb2312_chinese_ci gb2312 -gb2312_bin gb2312 -greek_general_ci greek -greek_bin greek -cp1250_general_ci cp1250 -cp1250_czech_cs cp1250 -cp1250_croatian_ci cp1250 -cp1250_bin cp1250 -gbk_chinese_ci gbk -gbk_bin gbk -latin5_turkish_ci latin5 -latin5_bin latin5 -armscii8_general_ci armscii8 -armscii8_bin armscii8 -utf8_general_ci utf8 -utf8_bin utf8 -utf8_unicode_ci utf8 -utf8_icelandic_ci utf8 -utf8_latvian_ci utf8 -utf8_romanian_ci utf8 -utf8_slovenian_ci utf8 -utf8_polish_ci utf8 -utf8_estonian_ci utf8 -utf8_spanish_ci utf8 -utf8_swedish_ci utf8 -utf8_turkish_ci utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_lithuanian_ci utf8 -utf8_slovak_ci utf8 -utf8_spanish2_ci utf8 -utf8_roman_ci utf8 -utf8_persian_ci utf8 -utf8_esperanto_ci utf8 -utf8_hungarian_ci utf8 -ucs2_general_ci ucs2 -ucs2_bin ucs2 -ucs2_unicode_ci ucs2 -ucs2_icelandic_ci ucs2 -ucs2_latvian_ci ucs2 -ucs2_romanian_ci ucs2 -ucs2_slovenian_ci ucs2 -ucs2_polish_ci ucs2 -ucs2_estonian_ci ucs2 -ucs2_spanish_ci ucs2 -ucs2_swedish_ci ucs2 -ucs2_turkish_ci ucs2 -ucs2_czech_ci ucs2 -ucs2_danish_ci ucs2 -ucs2_lithuanian_ci ucs2 -ucs2_slovak_ci ucs2 -ucs2_spanish2_ci ucs2 -ucs2_roman_ci ucs2 -ucs2_persian_ci ucs2 -ucs2_esperanto_ci ucs2 -ucs2_hungarian_ci ucs2 -cp866_general_ci cp866 -cp866_bin cp866 -keybcs2_general_ci keybcs2 -keybcs2_bin keybcs2 -macce_general_ci macce -macce_bin macce -macroman_general_ci macroman -macroman_bin macroman -cp852_general_ci cp852 -cp852_bin cp852 -latin7_estonian_cs latin7 -latin7_general_ci latin7 -latin7_general_cs latin7 -latin7_bin latin7 -cp1251_bulgarian_ci cp1251 -cp1251_ukrainian_ci cp1251 -cp1251_bin cp1251 -cp1251_general_ci cp1251 -cp1251_general_cs cp1251 -cp1256_general_ci cp1256 -cp1256_bin cp1256 -cp1257_lithuanian_ci cp1257 -cp1257_bin cp1257 -cp1257_general_ci cp1257 -binary binary -geostd8_general_ci geostd8 -geostd8_bin geostd8 -cp932_japanese_ci cp932 -cp932_bin cp932 -eucjpms_japanese_ci eucjpms -eucjpms_bin eucjpms - -Testcase 3.2.4.3: --------------------------------------------------------------------------------- - -Testcase 3.2.5.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC column_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE column_privileges; -Table Create Table -COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'column_privileges' -ORDER BY ordinal_position; -COUNT(*) -7 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'column_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -CREATE USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; -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'; -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES - -FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has -------------------------------------------------------------------------------------- -GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION; -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -FLUSH PRIVILEGES; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES ---------------------------------------------------------------------------------- -SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES -'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES -SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict SELECT NO -'user_3'@'localhost' NULL db_datadict INSERT NO -'user_3'@'localhost' NULL db_datadict UPDATE NO -'user_3'@'localhost' NULL db_datadict DELETE NO -'user_3'@'localhost' NULL db_datadict CREATE NO -'user_3'@'localhost' NULL db_datadict DROP NO -'user_3'@'localhost' NULL db_datadict REFERENCES NO -'user_3'@'localhost' NULL db_datadict INDEX NO -'user_3'@'localhost' NULL db_datadict ALTER NO -'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO -'user_3'@'localhost' NULL db_datadict LOCK TABLES NO -'user_3'@'localhost' NULL db_datadict EXECUTE NO -'user_3'@'localhost' NULL db_datadict CREATE VIEW NO -'user_3'@'localhost' NULL db_datadict SHOW VIEW NO -'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO -'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost'; - -FIXME: check whether it is intended that *my* grants to others are *NOT* shown here ------------------------------------------------------------------------------------ -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES - -user_2@localhost db_datadict -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO - -root@localhost db_datadict -DROP TABLE IF EXISTS db_datadict.res_t40502; -DROP DATABASE IF EXISTS db_datadict; -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP USER 'user_3'@'localhost'; - -Testcase 3.2.6.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC columns; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 -COLUMN_DEFAULT longtext YES NULL -IS_NULLABLE varchar(3) NO -DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL -CHARACTER_SET_NAME varchar(64) YES NULL -COLLATION_NAME varchar(64) YES NULL -COLUMN_TYPE longtext NO NULL -COLUMN_KEY varchar(3) NO -EXTRA varchar(20) NO -PRIVILEGES varchar(80) NO -COLUMN_COMMENT varchar(255) NO -SHOW CREATE TABLE columns; -Table Create Table -COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `ORDINAL_POSITION` bigint(21) NOT NULL default '0', - `COLUMN_DEFAULT` longtext, - `IS_NULLABLE` varchar(3) NOT NULL default '', - `DATA_TYPE` varchar(64) NOT NULL default '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) default NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) default NULL, - `NUMERIC_PRECISION` bigint(21) default NULL, - `NUMERIC_SCALE` bigint(21) default NULL, - `CHARACTER_SET_NAME` varchar(64) default NULL, - `COLLATION_NAME` varchar(64) default NULL, - `COLUMN_TYPE` longtext NOT NULL, - `COLUMN_KEY` varchar(3) NOT NULL default '', - `EXTRA` varchar(20) NOT NULL default '', - `PRIVILEGES` varchar(80) NOT NULL default '', - `COLUMN_COMMENT` varchar(255) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'columns' -ORDER BY ordinal_position; -COUNT(*) -19 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'columns' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select - -Testcase 3.2.6.2 + 3.2.6.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references -NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references -NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references -NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references -NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references -NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references -NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references -NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references -NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references -NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references -NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references -NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references -NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references -NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references -NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references -NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references -NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f129 6 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references -NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references -NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references -NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select -NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f129 6 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references -NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references -NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert -NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f12 4 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 5 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 6 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 7 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 8 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 9 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 10 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 11 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 12 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 13 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 14 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 15 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 16 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 17 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 18 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 28 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 29 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 30 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 31 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 32 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 33 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 34 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 36 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 38 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 40 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 42 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 44 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 45 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 46 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 47 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 48 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 49 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 50 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f122 5 NULL YES char 50 50 NULL NULL latin1 latin1_swedish_ci char(50) select,insert,update,references -NULL test tb3 f129 6 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 7 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 8 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 9 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 10 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 11 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 12 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 13 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 14 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 15 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 16 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 17 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 18 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 19 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 30 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 31 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 32 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 34 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 36 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 40 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 42 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 44 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 48 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 50 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 52 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f236 52 NULL YES char 95 190 NULL NULL ucs2 ucs2_general_ci char(95) select,insert,update,references -NULL test tb4 f241 53 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f237 54 NULL YES char 130 130 NULL NULL latin1 latin1_bin char(130) select,insert,update,references -NULL test tb4 f238 55 NULL YES varchar 25000 25000 NULL NULL latin1 latin1_bin varchar(25000) select,insert,update,references -NULL test tb4 f239 56 NULL YES varbinary 0 0 NULL NULL NULL NULL varbinary(0) select,insert,update,references -NULL test tb4 f240 57 NULL YES varchar 1200 2400 NULL NULL ucs2 ucs2_general_ci varchar(1200) select,insert,update,references - -root@localhost db_datadict - -Show the quotient of COL and CML for all COLUMNS ------------------------------------------------- -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; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -1.0000 binary NULL NULL -1.0000 blob NULL NULL -1.0000 longblob NULL NULL -1.0000 char latin1 latin1_bin -1.0000 varchar latin1 latin1_bin -1.0000 char latin1 latin1_swedish_ci -1.0000 enum latin1 latin1_swedish_ci -1.0000 set latin1 latin1_swedish_ci -1.0000 text latin1 latin1_swedish_ci -1.0000 longtext utf8 utf8_general_ci -1.0000 text utf8 utf8_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; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -2.0000 char ucs2 ucs2_general_ci -2.0000 varchar ucs2 ucs2_general_ci -3.0000 char utf8 utf8_bin -3.0000 enum utf8 utf8_bin -3.0000 char utf8 utf8_general_ci -3.0000 enum utf8 utf8_general_ci -3.0000 set utf8 utf8_general_ci -3.0000 varchar utf8 utf8_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 IS NULL -ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -NULL bigint NULL NULL -NULL date NULL NULL -NULL datetime NULL NULL -NULL decimal NULL NULL -NULL double NULL NULL -NULL double unsigned NULL NULL -NULL double unsigned zerofill NULL NULL -NULL float NULL NULL -NULL float unsigned NULL NULL -NULL float unsigned zerofill NULL NULL -NULL int NULL NULL -NULL mediumint NULL NULL -NULL smallint NULL NULL -NULL time NULL NULL -NULL timestamp NULL NULL -NULL tinyint NULL NULL -NULL varbinary NULL NULL -NULL year NULL NULL ---> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values ---> are 0, which is intended behavior, and the result of 0 / 0 IS NULL -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; -COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE -1.0000 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10) -1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text -NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date -NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11) -1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10) -1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text -NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date -NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11) -3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60) -NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11) -3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3) -NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20) -3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80) -3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 255 765 utf8 utf8_general_ci varchar(255) -3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10) -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) -3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) -1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8) -3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) -NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime -NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime -1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) -3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1) -3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2) -3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1) -NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21) -NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10) -3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16) -3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16) -3.0000 information_schema TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime -3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) -3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6) -3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4) -1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9) -3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) -NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime -1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8) -3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) -3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) -3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64) -NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') -3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql db User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) -NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) -3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) -3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate') -NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128) -NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text -1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text -3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128) -3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64) -3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') -3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64) -3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL') -3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') -3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO') -3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER') -1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob -3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64) -1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob -3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77) -NULL mysql proc created timestamp NULL NULL NULL NULL timestamp -NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp -3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') -3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE') -3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77) -3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant') -NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77) -NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql tables_priv Table_priv set 90 270 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') -3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') -NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N') -NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20) -NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11) -3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20) -NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11) -NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned -3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8) -3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql user User char 16 48 utf8 utf8_bin char(16) -1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41) -3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') -1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob -1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob -1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob -NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned -1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t1 f3 date NULL NULL NULL NULL date -NULL test t1 f4 int NULL NULL NULL NULL int(11) -1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t1 f6 int NULL NULL NULL NULL int(11) -1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t10 f3 date NULL NULL NULL NULL date -NULL test t10 f4 int NULL NULL NULL NULL int(11) -1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t10 f6 int NULL NULL NULL NULL int(11) -1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t11 f3 date NULL NULL NULL NULL date -NULL test t11 f4 int NULL NULL NULL NULL int(11) -1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t11 f6 int NULL NULL NULL NULL int(11) -1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t2 f3 date NULL NULL NULL NULL date -NULL test t2 f4 int NULL NULL NULL NULL int(11) -1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t2 f6 int NULL NULL NULL NULL int(11) -1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) -NULL test t3 f3 int NULL NULL NULL NULL int(11) -1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t4 f3 date NULL NULL NULL NULL date -NULL test t4 f4 int NULL NULL NULL NULL int(11) -1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t4 f6 int NULL NULL NULL NULL int(11) -1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t7 f3 date NULL NULL NULL NULL date -NULL test t7 f4 int NULL NULL NULL NULL int(11) -1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t8 f3 date NULL NULL NULL NULL date -NULL test t8 f4 int NULL NULL NULL NULL int(11) -NULL test t9 f1 int NULL NULL NULL NULL int(11) -1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t9 f3 int NULL NULL NULL NULL int(11) -1.0000 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1) -1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1) -NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4) -NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned -NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6) -NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned -NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9) -NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned -NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb1 f25 int NULL NULL NULL NULL int(11) -NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned -NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20) -NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned -NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb2 f73 double NULL NULL NULL NULL double -NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f77 double NULL NULL NULL NULL double -NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f81 float NULL NULL NULL NULL float -NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f85 float NULL NULL NULL NULL float -NULL test tb2 f86 float NULL NULL NULL NULL float -NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f93 float NULL NULL NULL NULL float -NULL test tb2 f94 double NULL NULL NULL NULL double -NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f101 date NULL NULL NULL NULL date -NULL test tb2 f102 time NULL NULL NULL NULL time -NULL test tb2 f103 datetime NULL NULL NULL NULL datetime -NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp -NULL test tb2 f105 year NULL NULL NULL NULL year(4) -NULL test tb2 f106 year NULL NULL NULL NULL year(4) -NULL test tb2 f107 year NULL NULL NULL NULL year(4) -1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1) -1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb3 f121 char 50 50 latin1 latin1_swedish_ci char(50) -1.0000 test tb3 f122 char 50 50 latin1 latin1_swedish_ci char(50) -1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1) -NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4) -NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned -NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6) -NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned -NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9) -NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned -NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb3 f142 int NULL NULL NULL NULL int(11) -NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned -NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20) -NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned -NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb4 f190 double NULL NULL NULL NULL double -NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f194 double NULL NULL NULL NULL double -NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f198 float NULL NULL NULL NULL float -NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f202 float NULL NULL NULL NULL float -NULL test tb4 f203 float NULL NULL NULL NULL float -NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f210 float NULL NULL NULL NULL float -NULL test tb4 f211 double NULL NULL NULL NULL double -NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f218 date NULL NULL NULL NULL date -NULL test tb4 f219 time NULL NULL NULL NULL time -NULL test tb4 f220 datetime NULL NULL NULL NULL datetime -NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp -NULL test tb4 f222 year NULL NULL NULL NULL year(4) -NULL test tb4 f223 year NULL NULL NULL NULL year(4) -NULL test tb4 f224 year NULL NULL NULL NULL year(4) -1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -2.0000 test tb4 f236 char 95 190 ucs2 ucs2_general_ci char(95) -2.0000 test tb4 f241 char 255 510 ucs2 ucs2_general_ci char(255) -1.0000 test tb4 f237 char 130 130 latin1 latin1_bin char(130) -1.0000 test tb4 f238 varchar 25000 25000 latin1 latin1_bin varchar(25000) -NULL test tb4 f239 varbinary 0 0 NULL NULL varbinary(0) -2.0000 test tb4 f240 varchar 1200 2400 ucs2 ucs2_general_ci varchar(1200) -NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) -NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) -NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test1 tb2 f73 double NULL NULL NULL NULL double -NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f77 double NULL NULL NULL NULL double -NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f81 float NULL NULL NULL NULL float -NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f85 float NULL NULL NULL NULL float -NULL test1 tb2 f86 float NULL NULL NULL NULL float -NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f93 float NULL NULL NULL NULL float -NULL test1 tb2 f94 double NULL NULL NULL NULL double -NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f101 date NULL NULL NULL NULL date -NULL test1 tb2 f102 time NULL NULL NULL NULL time -NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime -NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp -NULL test1 tb2 f105 year NULL NULL NULL NULL year(4) -NULL test1 tb2 f106 year NULL NULL NULL NULL year(4) -NULL test1 tb2 f107 year NULL NULL NULL NULL year(4) -1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test4 t6 f3 date NULL NULL NULL NULL date -NULL test4 t6 f4 int NULL NULL NULL NULL int(11) -1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test4 t6 f6 int NULL NULL NULL NULL int(11) -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; - -Testcase 3.2.7.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC key_column_usage; -Field Type Null Key Default Extra -CONSTRAINT_CATALOG varchar(4096) YES NULL -CONSTRAINT_SCHEMA varchar(64) NO -CONSTRAINT_NAME varchar(64) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(10) NO 0 -POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL -REFERENCED_TABLE_SCHEMA varchar(64) YES NULL -REFERENCED_TABLE_NAME varchar(64) YES NULL -REFERENCED_COLUMN_NAME varchar(64) YES NULL -SHOW CREATE TABLE key_column_usage; -Table Create Table -KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` ( - `CONSTRAINT_CATALOG` varchar(4096) default NULL, - `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', - `CONSTRAINT_NAME` varchar(64) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `ORDINAL_POSITION` bigint(10) NOT NULL default '0', - `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) default NULL, - `REFERENCED_TABLE_SCHEMA` varchar(64) default NULL, - `REFERENCED_TABLE_NAME` varchar(64) default NULL, - `REFERENCED_COLUMN_NAME` varchar(64) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'key_column_usage' -ORDER BY ordinal_position; -COUNT(*) -12 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'key_column_usage' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.7.2 + 3.2.7.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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'; -FLUSH PRIVILEGES; -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL -NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL - -root@localhost db_datadict -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP TABLE t_40701; -DROP TABLE t_40702; -DROP DATABASE IF EXISTS db_datadict; - -Testcase 3.2.8.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC routines; -Field Type Null Key Default Extra -SPECIFIC_NAME varchar(64) NO -ROUTINE_CATALOG varchar(4096) YES NULL -ROUTINE_SCHEMA varchar(64) NO -ROUTINE_NAME varchar(64) NO -ROUTINE_TYPE varchar(9) NO -DTD_IDENTIFIER varchar(64) YES NULL -ROUTINE_BODY varchar(8) NO -ROUTINE_DEFINITION longtext YES NULL -EXTERNAL_NAME varchar(64) YES NULL -EXTERNAL_LANGUAGE varchar(64) YES NULL -PARAMETER_STYLE varchar(8) NO -IS_DETERMINISTIC varchar(3) NO -SQL_DATA_ACCESS varchar(64) NO -SQL_PATH varchar(64) YES NULL -SECURITY_TYPE varchar(7) NO -CREATED datetime NO 0000-00-00 00:00:00 -LAST_ALTERED datetime NO 0000-00-00 00:00:00 -SQL_MODE longtext NO NULL -ROUTINE_COMMENT varchar(64) NO -DEFINER varchar(77) NO -SHOW CREATE TABLE routines; -Table Create Table -ROUTINES CREATE TEMPORARY TABLE `ROUTINES` ( - `SPECIFIC_NAME` varchar(64) NOT NULL default '', - `ROUTINE_CATALOG` varchar(4096) default NULL, - `ROUTINE_SCHEMA` varchar(64) NOT NULL default '', - `ROUTINE_NAME` varchar(64) NOT NULL default '', - `ROUTINE_TYPE` varchar(9) NOT NULL default '', - `DTD_IDENTIFIER` varchar(64) default NULL, - `ROUTINE_BODY` varchar(8) NOT NULL default '', - `ROUTINE_DEFINITION` longtext, - `EXTERNAL_NAME` varchar(64) default NULL, - `EXTERNAL_LANGUAGE` varchar(64) default NULL, - `PARAMETER_STYLE` varchar(8) NOT NULL default '', - `IS_DETERMINISTIC` varchar(3) NOT NULL default '', - `SQL_DATA_ACCESS` varchar(64) NOT NULL default '', - `SQL_PATH` varchar(64) default NULL, - `SECURITY_TYPE` varchar(7) NOT NULL default '', - `CREATED` datetime NOT NULL default '0000-00-00 00:00:00', - `LAST_ALTERED` datetime NOT NULL default '0000-00-00 00:00:00', - `SQL_MODE` longtext NOT NULL, - `ROUTINE_COMMENT` varchar(64) NOT NULL default '', - `DEFINER` varchar(77) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'routines' -ORDER BY ordinal_position; -COUNT(*) -20 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'routines' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select - -Testcase 3.2.8.2 + 3.2.8.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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); -DROP PROCEDURE IF EXISTS sp_6_408002_1; -CREATE PROCEDURE sp_6_408002_1() -BEGIN -SELECT * FROM db_datadict.res_6_408002_1; -END// -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); -DROP PROCEDURE IF EXISTS sp_6_408002_2; -CREATE PROCEDURE sp_6_408002_2() -BEGIN -SELECT * FROM db_datadict_2.res_6_408002_2; -END// -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER - -root@localhost db_datadict_2 -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; - -Testcase 3.2.8.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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); -drop procedure if exists sp_6_408004; -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); - -Checking the max. possible length of (currently) 4 GByte is not possible in this environment here. --------------------------------------------------------------------------------------------------- -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// -call sp_6_408004 (); -@a -test row -@a -test row -@a -test row -@a -test row -@a -test row -@a -test row -select * from res_6_408004_2; -f1 f2 f3 f4 f5 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -SELECT *, LENGTH(routine_definition) -FROM information_schema.routines -WHERE routine_schema = 'db_datadict'; -SPECIFIC_NAME sp_6_408004 -ROUTINE_CATALOG NULL -ROUTINE_SCHEMA db_datadict -ROUTINE_NAME sp_6_408004 -ROUTINE_TYPE PROCEDURE -DTD_IDENTIFIER NULL -ROUTINE_BODY SQL -ROUTINE_DEFINITION 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 -EXTERNAL_NAME NULL -EXTERNAL_LANGUAGE NULL -PARAMETER_STYLE SQL -IS_DETERMINISTIC NO -SQL_DATA_ACCESS CONTAINS SQL -SQL_PATH NULL -SECURITY_TYPE DEFINER -CREATED YYYY-MM-DD hh:mm:ss -LAST_ALTERED YYYY-MM-DD hh:mm:ss -SQL_MODE -ROUTINE_COMMENT -DEFINER root@localhost -LENGTH(routine_definition) 2549 -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; - -Testcase 3.2.9.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC schemata; -Field Type Null Key Default Extra -CATALOG_NAME varchar(4096) YES NULL -SCHEMA_NAME varchar(64) NO -DEFAULT_CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATION_NAME varchar(64) NO -SQL_PATH varchar(4096) YES NULL -SHOW CREATE TABLE schemata; -Table Create Table -SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` ( - `CATALOG_NAME` varchar(4096) default NULL, - `SCHEMA_NAME` varchar(64) NOT NULL default '', - `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL default '', - `SQL_PATH` varchar(4096) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schemata' -ORDER BY ordinal_position; -COUNT(*) -5 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schemata' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select - -Testcase 3.2.9.2 + 3.2.9.3: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -CREATE USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict_1; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -3 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict_1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -3 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict_2 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -2 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL - -root@localhost information_schema -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; - -Testcase 3.2.10.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC table_constraints; -Field Type Null Key Default Extra -CONSTRAINT_CATALOG varchar(4096) YES NULL -CONSTRAINT_SCHEMA varchar(64) NO -CONSTRAINT_NAME varchar(64) NO -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -CONSTRAINT_TYPE varchar(64) NO -SHOW CREATE TABLE table_constraints; -Table Create Table -TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` ( - `CONSTRAINT_CATALOG` varchar(4096) default NULL, - `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', - `CONSTRAINT_NAME` varchar(64) NOT NULL default '', - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `CONSTRAINT_TYPE` varchar(64) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_constraints' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_constraints' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.10.2 + 3.2.10.3: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY -SELECT COUNT(*) FROM information_schema.table_constraints; -COUNT(*) -1 -connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY -SELECT COUNT(*) FROM information_schema.table_constraints; -COUNT(*) -1 -use db_datadict; - -root@localhost db_datadict -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; - -Testcase 3.2.11.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC table_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE table_privileges; -Table Create Table -TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_privileges' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict tb1 SELECT NO -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict tb1 SELECT YES -'user_2'@'localhost' NULL db_datadict tb1 INSERT YES -'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES -'user_2'@'localhost' NULL db_datadict tb1 DELETE YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE YES -'user_2'@'localhost' NULL db_datadict tb1 DROP YES -'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES -'user_2'@'localhost' NULL db_datadict tb1 INDEX YES -'user_2'@'localhost' NULL db_datadict tb1 ALTER YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES -'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES -SELECT USER(), COUNT(*) -FROM information_schema.table_privileges -WHERE grantee = USER(); -USER() COUNT(*) -user_2@localhost 0 -SELECT USER(), COUNT(*) -FROM information_schema.table_privileges -WHERE grantee = "'user_2'@'localhost'"; -USER() COUNT(*) -user_2@localhost 11 -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict tb3 SELECT NO - -root@localhost db_datadict -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict tb1 SELECT YES -'user_2'@'localhost' NULL db_datadict tb1 INSERT YES -'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES -'user_2'@'localhost' NULL db_datadict tb1 DELETE YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE YES -'user_2'@'localhost' NULL db_datadict tb1 DROP YES -'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES -'user_2'@'localhost' NULL db_datadict tb1 INDEX YES -'user_2'@'localhost' NULL db_datadict tb1 ALTER YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES -'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES -'user_1'@'localhost' NULL db_datadict tb1 SELECT NO -'user_3'@'localhost' NULL db_datadict tb3 SELECT NO - -root@localhost db_datadict -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; - -Testcase 3.2.12.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC tables; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -TABLE_TYPE varchar(64) NO -ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL -ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL -CREATE_TIME datetime YES NULL -UPDATE_TIME datetime YES NULL -CHECK_TIME datetime YES NULL -TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL -CREATE_OPTIONS varchar(255) YES NULL -TABLE_COMMENT varchar(80) NO -SHOW CREATE TABLE tables; -Table Create Table -TABLES CREATE TEMPORARY TABLE `TABLES` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `TABLE_TYPE` varchar(64) NOT NULL default '', - `ENGINE` varchar(64) default NULL, - `VERSION` bigint(21) default NULL, - `ROW_FORMAT` varchar(10) default NULL, - `TABLE_ROWS` bigint(21) default NULL, - `AVG_ROW_LENGTH` bigint(21) default NULL, - `DATA_LENGTH` bigint(21) default NULL, - `MAX_DATA_LENGTH` bigint(21) default NULL, - `INDEX_LENGTH` bigint(21) default NULL, - `DATA_FREE` bigint(21) default NULL, - `AUTO_INCREMENT` bigint(21) default NULL, - `CREATE_TIME` datetime default NULL, - `UPDATE_TIME` datetime default NULL, - `CHECK_TIME` datetime default NULL, - `TABLE_COLLATION` varchar(64) default NULL, - `CHECKSUM` bigint(21) default NULL, - `CREATE_OPTIONS` varchar(255) default NULL, - `TABLE_COMMENT` varchar(80) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'tables' -ORDER BY ordinal_position; -COUNT(*) -21 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'tables' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select - -Testcase 3.2.12.2 + 3.2.12.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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'; -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE 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 latin1_swedish_ci NULL -NULL db_datadict tb2 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL - -root@localhost db_datadict -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema') AND NOT (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 db_datadict tb1 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 latin1_swedish_ci NULL -NULL db_datadict tb2 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL mysql columns_priv 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_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #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_bin NULL Database privileges -NULL mysql func 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_bin NULL User defined functions -NULL mysql host 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_bin NULL Host privileges; Merged with database privileges -NULL mysql proc 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 Stored Procedures -NULL mysql procs_priv 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_bin NULL Procedure privileges -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #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_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #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 Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #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 Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #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 Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #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 Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #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_bin NULL Users and global privileges -NULL test t1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test1 tb2 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE MEMORY 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -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; - -Testcase 3.2.13.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC views; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -VIEW_DEFINITION longtext NO NULL -CHECK_OPTION varchar(8) NO -IS_UPDATABLE varchar(3) NO -DEFINER varchar(77) NO -SECURITY_TYPE varchar(7) NO -SHOW CREATE TABLE views; -Table Create Table -VIEWS CREATE TEMPORARY TABLE `VIEWS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `VIEW_DEFINITION` longtext NOT NULL, - `CHECK_OPTION` varchar(8) NOT NULL default '', - `IS_UPDATABLE` varchar(3) NOT NULL default '', - `DEFINER` varchar(77) NOT NULL default '', - `SECURITY_TYPE` varchar(7) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'views' -ORDER BY ordinal_position; -COUNT(*) -8 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'views' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select - -Testcase 3.2.13.2 + 3.2.13.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER -NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER -connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER -connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER -NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER -connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE - -root@localhost db_datadict -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; - -Testcase 3.2.14.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC statistics; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -NON_UNIQUE bigint(1) NO 0 -INDEX_SCHEMA varchar(64) NO -INDEX_NAME varchar(64) NO -SEQ_IN_INDEX bigint(2) NO 0 -COLUMN_NAME varchar(64) NO -COLLATION varchar(1) YES NULL -CARDINALITY bigint(21) YES NULL -SUB_PART bigint(3) YES NULL -PACKED varchar(10) YES NULL -NULLABLE varchar(3) NO -INDEX_TYPE varchar(16) NO -COMMENT varchar(16) YES NULL -SHOW CREATE TABLE statistics; -Table Create Table -STATISTICS CREATE TEMPORARY TABLE `STATISTICS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `NON_UNIQUE` bigint(1) NOT NULL default '0', - `INDEX_SCHEMA` varchar(64) NOT NULL default '', - `INDEX_NAME` varchar(64) NOT NULL default '', - `SEQ_IN_INDEX` bigint(2) NOT NULL default '0', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `COLLATION` varchar(1) default NULL, - `CARDINALITY` bigint(21) default NULL, - `SUB_PART` bigint(3) default NULL, - `PACKED` varchar(10) default NULL, - `NULLABLE` varchar(3) NOT NULL default '', - `INDEX_TYPE` varchar(16) NOT NULL default '', - `COMMENT` varchar(16) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'statistics' -ORDER BY ordinal_position; -COUNT(*) -15 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'statistics' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select - -Testcase 3.2.14.2 + 3.2.14.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.statistics; -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.statistics; -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 - -root@localhost db_datadict_2 -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_%'); -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE -NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE -NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE -NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE -NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE - -user_1@localhost test -SELECT * FROM information_schema.statistics; -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE - -user_2@localhost test -SELECT * FROM information_schema.statistics; -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 - -root@localhost db_datadict_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; - -Testcase 3.2.15.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC schema_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE schema_privileges; -Table Create Table -SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schema_privileges' -ORDER BY ordinal_position; -COUNT(*) -5 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schema_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.15.2: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401502'@'localhost' NULL db_datadict INSERT NO -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401502'@'localhost' NULL db_datadict INSERT NO -use db_datadict; - -root@localhost db_datadict -DROP USER 'u_6_401502'@'localhost'; -drop table res_6_401502; -use test; -drop database db_datadict; -drop database db_datadict_2; - -Testcase 3.2.15.3 + 3.2.15.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO -'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO -connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO -connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE - -root@localhost db_datadict_2 -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; - -Testcase 3.2.16.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC user_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE user_privileges; -Table Create Table -USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'user_privileges' -ORDER BY ordinal_position; -COUNT(*) -4 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'user_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; - -FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1 ----------------------------------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -add GRANT OPTION db_datadict.* to user_1 ----------------------------------------- -GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION; - -FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1 -------------------------------------------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -FLUSH PRIVILEGES; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' - -Now add SELECT on *.* to user_1 -------------------------------- - -root@localhost information_schema -GRANT SELECT ON *.* TO 'user_1'@'localhost'; - -Here <SELECT NO> is shown correctly for user_1 ----------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION; - -Here <SELECT YES> is shown correctly for user_1 ------------------------------------------------ -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -FLUSH PRIVILEGES; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_2@localhost -GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost' -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_3@localhost -GRANT USAGE ON *.* TO 'user_3'@'localhost' - -revoke privileges from user_1 ------------------------------ - -root@localhost information_schema -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost'; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' - -user_1@localhost db_datadict -CREATE TABLE db_datadict.tb_55 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55' - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_66 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66' - -add ALL on db_datadict.* (and select on mysql.user) to user_1 -------------------------------------------------------------- - -root@localhost information_schema -GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION; -GRANT SELECT ON mysql.user TO 'user_1'@'localhost'; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_56 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56' -USE db_datadict; - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -CREATE TABLE tb_57 ( c1 TEXT ); - -revoke privileges from user_1 ------------------------------ - -root@localhost information_schema -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost'; -FLUSH PRIVILEGES; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_58 ( c1 TEXT ); -USE db_datadict; -ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict' -CREATE TABLE db_datadict.tb_59 ( c1 TEXT ); - -root@localhost information_schema -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; - -Testcase 3.2.17: Checks on Performance - not here in this script! --------------------------------------------------------------------------------- - -Testcase 3.2.18.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC triggers; -Field Type Null Key Default Extra -TRIGGER_CATALOG varchar(4096) YES NULL -TRIGGER_SCHEMA varchar(64) NO -TRIGGER_NAME varchar(64) NO -EVENT_MANIPULATION varchar(6) NO -EVENT_OBJECT_CATALOG varchar(4096) YES NULL -EVENT_OBJECT_SCHEMA varchar(64) NO -EVENT_OBJECT_TABLE varchar(64) NO -ACTION_ORDER bigint(4) NO 0 -ACTION_CONDITION longtext YES NULL -ACTION_STATEMENT longtext NO NULL -ACTION_ORIENTATION varchar(9) NO -ACTION_TIMING varchar(6) NO -ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL -ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL -ACTION_REFERENCE_OLD_ROW varchar(3) NO -ACTION_REFERENCE_NEW_ROW varchar(3) NO -CREATED datetime YES NULL -SQL_MODE longtext NO NULL -DEFINER longtext NO NULL -SHOW CREATE TABLE triggers; -Table Create Table -TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` ( - `TRIGGER_CATALOG` varchar(4096) default NULL, - `TRIGGER_SCHEMA` varchar(64) NOT NULL default '', - `TRIGGER_NAME` varchar(64) NOT NULL default '', - `EVENT_MANIPULATION` varchar(6) NOT NULL default '', - `EVENT_OBJECT_CATALOG` varchar(4096) default NULL, - `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL default '', - `EVENT_OBJECT_TABLE` varchar(64) NOT NULL default '', - `ACTION_ORDER` bigint(4) NOT NULL default '0', - `ACTION_CONDITION` longtext, - `ACTION_STATEMENT` longtext NOT NULL, - `ACTION_ORIENTATION` varchar(9) NOT NULL default '', - `ACTION_TIMING` varchar(6) NOT NULL default '', - `ACTION_REFERENCE_OLD_TABLE` varchar(64) default NULL, - `ACTION_REFERENCE_NEW_TABLE` varchar(64) default NULL, - `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL default '', - `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL default '', - `CREATED` datetime default NULL, - `SQL_MODE` longtext NOT NULL, - `DEFINER` longtext NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'triggers' -ORDER BY ordinal_position; -COUNT(*) -19 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'triggers' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select - -Testcase 3.2.18.2 + 3.2.18.3: --------------------------------------------------------------------------------- - -Testcase 3.2.19.1: --------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ -DESC parameters; -ERROR 42S02: Unknown table 'parameters' in information_schema - -Testcase 3.2.20.1: --------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ -DESC referential_constraints; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema - -*** End of Data Dictionary Tests *** --------------------------------------------------------------------------------- -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; diff --git a/mysql-test/suite/funcs_1/r/memory__load.result b/mysql-test/suite/funcs_1/r/memory__load.result deleted file mode 100644 index c1b9c89b257..00000000000 --- a/mysql-test/suite/funcs_1/r/memory__load.result +++ /dev/null @@ -1 +0,0 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); diff --git a/mysql-test/suite/funcs_1/r/memory_bitdata.result b/mysql-test/suite/funcs_1/r/memory_bitdata.result index 2b98475d6d2..917157fcdae 100644 --- a/mysql-test/suite/funcs_1/r/memory_bitdata.result +++ b/mysql-test/suite/funcs_1/r/memory_bitdata.result @@ -1,68 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); -USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -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"), -f236 char(95) unicode, -f241 char(255) unicode, -f237 char(130) binary, -f238 varchar(25000) binary, -f239 varbinary(0), -f240 varchar(1200) unicode -) engine = memory; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb4.txt' into table tb4 ; NOT YET IMPLEMENTED: bitdata tests -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_cursors.result b/mysql-test/suite/funcs_1/r/memory_cursors.result index 3221e05cc4f..9f20e51204b 100644 --- a/mysql-test/suite/funcs_1/r/memory_cursors.result +++ b/mysql-test/suite/funcs_1/r/memory_cursors.result @@ -1,78 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); -USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; -drop table if exists tb1 ; -create table tb1 ( -f1 char, -f2 char binary, -f3 char ascii, -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 not null DEFAULT 9.9, -f34 decimal unsigned not null DEFAULT 9.9, -f35 decimal zerofill not null DEFAULT 9.9, -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 = memory; -Warnings: -Note 1265 Data truncated for column 'f33' at row 1 -Note 1265 Data truncated for column 'f34' at row 1 -Note 1265 Data truncated for column 'f35' at row 1 -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/memory_tb1.txt' into table tb1 ; NOT YET IMPLEMENTED: cursor tests -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result index 731d5c4a8cf..fd31aa76ab9 100755 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_03.result b/mysql-test/suite/funcs_1/r/memory_storedproc_03.result index 6ee2d712e73..c982691daad 100755 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_03.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result index a627de4b534..890498e1966 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_07.result b/mysql-test/suite/funcs_1/r/memory_storedproc_07.result index 34e5ff76f29..0980ca84a8c 100755 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_07.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result index 712d9ae933f..e3f9556a082 100755 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_10.result b/mysql-test/suite/funcs_1/r/memory_storedproc_10.result index 89c2fb736eb..7f9946218e9 100755 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_10.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0102.result b/mysql-test/suite/funcs_1/r/memory_trig_0102.result index e7fec297ca7..a9477604425 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb3; create table tb3 ( f118 char not null DEFAULT 'a', @@ -358,3 +355,4 @@ select @test_var1, @test_var2, @test_var3; trig1_b trig1_a trig2 drop database trig_db1; drop database trig_db2; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_03.result b/mysql-test/suite/funcs_1/r/memory_trig_03.result index 7309e403cff..e5813236213 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_03.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_03.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb3; create table tb3 ( f118 char not null DEFAULT 'a', @@ -745,3 +742,4 @@ drop database if exists priv_db; drop user test_yesprivs@localhost; drop user test_noprivs@localhost; drop user test_noprivs; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0407.result b/mysql-test/suite/funcs_1/r/memory_trig_0407.result index 588039983e2..14974428ecf 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_0407.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb3; create table tb3 ( f118 char not null DEFAULT 'a', @@ -474,3 +471,4 @@ Testcase 3.5.7.17 (see Testcase 3.5.1.1) drop user test_general@localhost; drop user test_general; drop user test_super@localhost; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result index a842bbc3ac7..a703de751c2 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_08.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb3; create table tb3 ( f118 char not null DEFAULT 'a', @@ -493,3 +490,4 @@ Testcase 3.5.8.7: (Disabled as a result of bug _____) drop user test_general@localhost; drop user test_general; drop user test_super@localhost; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_09.result b/mysql-test/suite/funcs_1/r/memory_trig_09.result index 3dbe64958e3..da8b15901d9 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_09.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_09.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb3; create table tb3 ( f118 char not null DEFAULT 'a', @@ -265,3 +262,4 @@ drop trigger trg6c; Testcase 3.5.9.14: (implied in previous tests) ---------------------------------------------- +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result b/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result index b93c67e894b..8fc9178f494 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb3; create table tb3 ( f118 char not null DEFAULT 'a', @@ -400,3 +397,4 @@ drop table t1; drop table t2; drop table t3; drop table t4; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result index 5fae2f8700a..04841ff7111 100644 --- a/mysql-test/suite/funcs_1/r/memory_views.result +++ b/mysql-test/suite/funcs_1/r/memory_views.result @@ -1,7 +1,4 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb2 ; create table tb2 ( f59 numeric (0) unsigned, @@ -60,8 +57,6 @@ load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb2.txt' into table t DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; USE test1; -set @@global.max_heap_table_size = 4294967295; -set @@session.max_heap_table_size = 4294967295; drop table if exists tb2 ; create table tb2 ( f59 numeric (0) unsigned, @@ -11457,4 +11452,5 @@ DROP VIEW IF EXISTS v1_secondview; DROP VIEW IF EXISTS v2; DROP DATABASE IF EXISTS test2; DROP DATABASE IF EXISTS test3; -DROP DATABASE IF EXISTS test1; +DROP DATABASE test1; +DROP TABLE test.tb2; diff --git a/mysql-test/suite/funcs_1/r/myisam__datadict.result b/mysql-test/suite/funcs_1/r/myisam__datadict.result deleted file mode 100644 index fd194de46d6..00000000000 --- a/mysql-test/suite/funcs_1/r/myisam__datadict.result +++ /dev/null @@ -1,13068 +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@1.2477.6.3, 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, -f2 char binary, -f3 char 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 not null DEFAULT 9.9, -f34 decimal unsigned not null DEFAULT 9.9, -f35 decimal zerofill not null DEFAULT 9.9, -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 = myisam; -Warnings: -Note 1265 Data truncated for column 'f33' at row 1 -Note 1265 Data truncated for column 'f34' at row 1 -Note 1265 Data truncated for column 'f35' at row 1 -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/myisam_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", -f110 VARBINARY(64) null, -f111 VARBINARY(27) null , -f112 VARBINARY(64) null , -f113 VARBINARY(192) null , -f114 VARBINARY(192) , -f115 VARBINARY(27) null , -f116 VARBINARY(64) null, -f117 VARBINARY(192) null -) engine = myisam; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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 = myisam; -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/myisam_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"), -f227 VARBINARY(64), -f228 VARBINARY(27), -f229 VARBINARY(64), -f230 VARBINARY(192), -f231 VARBINARY(192), -f232 VARBINARY(27), -f233 VARBINARY(64), -f234 VARBINARY(192), -f235 char(255) unicode, -f236 char(60) ascii, -f237 char(255) binary, -f238 varchar(0) binary, -f239 varbinary(1000), -f240 varchar(120) unicode, -f241 char(100) unicode, -f242 bit(30) -) engine = myisam; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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", -f110 VARBINARY(64) null, -f111 VARBINARY(27) null , -f112 VARBINARY(64) null , -f113 VARBINARY(192) null , -f114 VARBINARY(192) , -f115 VARBINARY(27) null , -f116 VARBINARY(64) null, -f117 VARBINARY(192) null -) engine = myisam; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_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 = myisam; -CREATE TABLE t2 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam; -CREATE TABLE t4 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam; -CREATE TABLE t10 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam; -CREATE TABLE t11 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = myisam; -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 = myisam; -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 = myisam; -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 = myisam; -CREATE TABLE t8 (f1 char(20), f2 char(25), f3 date, f4 int) ENGINE = myisam; -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 = myisam; -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 -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -select * from schemata ORDER BY 2 DESC, 1 ASC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test4 latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -SELECT * FROM tables -WHERE table_schema = 'information_schema'; -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME CHARACTER_SETS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATIONS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMNS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMN_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME KEY_COLUMN_USAGE -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME ROUTINES -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMATA -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMA_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME STATISTICS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_CONSTRAINTS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TRIGGERS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME USER_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME VIEWS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -SELECT * FROM tables -WHERE NOT( table_schema = 'information_schema') -AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%'); -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME v1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME columns_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Column privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME db -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 2 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME func -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT User defined functions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME host -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Host privileges; Merged with database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME proc -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 1 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Stored Procedures -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME procs_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Procedure privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME tables_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Table privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 5 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT 6 -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_leap_second -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 22 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Leap seconds information for time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_name -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 6 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone names -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 393 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transitions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition_type -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 31 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transition types -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME user -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 3 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Users and global privileges -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t1 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t10 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t11 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t2 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t3 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t4 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t7 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t8 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t9 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb1 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb3 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb4 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test1 -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test4 -TABLE_NAME t6 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -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; -catalog_name schema_name default_character_set_name table_type engine -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -select * from columns; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL db_datadict v1 TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select,insert,update,references -NULL db_datadict v1 TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -NULL db_datadict v1 TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL db_datadict v1 TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -NULL db_datadict v1 CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select,insert,update,references -NULL db_datadict v1 CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references -NULL db_datadict v1 TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select,insert,update,references -NULL db_datadict vu u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references -NULL db_datadict vu server 2 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references -NULL db_datadict vu Server_Clean 3 NO varchar 243 729 NULL NULL utf8 utf8_general_ci varchar(243) select,insert,update,references -NULL db_datadict vu1 u 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select,insert,update,references -NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references -NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references -NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references -NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references -NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references -NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references -NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references -NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references -NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references -NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references -NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references -NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references -NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references -NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references -NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references -NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references -NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references -NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references -NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references -NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references -NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references -NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references -NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test1 tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test1 tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test1 tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test1 tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test1 tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test1 tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test1 tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test1 tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select * from character_sets; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -latin1 latin1_swedish_ci cp1252 West European 1 -latin2 latin2_general_ci ISO 8859-2 Central European 1 -swe7 swe7_swedish_ci 7bit Swedish 1 -ascii ascii_general_ci US ASCII 1 -ujis ujis_japanese_ci EUC-JP Japanese 3 -sjis sjis_japanese_ci Shift-JIS Japanese 2 -hebrew hebrew_general_ci ISO 8859-8 Hebrew 1 -tis620 tis620_thai_ci TIS620 Thai 1 -euckr euckr_korean_ci EUC-KR Korean 2 -koi8u koi8u_general_ci KOI8-U Ukrainian 1 -gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2 -greek greek_general_ci ISO 8859-7 Greek 1 -cp1250 cp1250_general_ci Windows Central European 1 -gbk gbk_chinese_ci GBK Simplified Chinese 2 -latin5 latin5_turkish_ci ISO 8859-9 Turkish 1 -armscii8 armscii8_general_ci ARMSCII-8 Armenian 1 -utf8 utf8_general_ci UTF-8 Unicode 3 -ucs2 ucs2_general_ci UCS-2 Unicode 2 -cp866 cp866_general_ci DOS Russian 1 -keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1 -macce macce_general_ci Mac Central European 1 -macroman macroman_general_ci Mac West European 1 -cp852 cp852_general_ci DOS Central European 1 -latin7 latin7_general_ci ISO 8859-13 Baltic 1 -cp1251 cp1251_general_ci Windows Cyrillic 1 -cp1256 cp1256_general_ci Windows Arabic 1 -cp1257 cp1257_general_ci Windows Baltic 1 -binary binary Binary pseudo charset 1 -geostd8 geostd8_general_ci GEOSTD8 Georgian 1 -cp932 cp932_japanese_ci SJIS for Windows Japanese 2 -eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3 -select sum(id) from collations where collation_name <> 'utf8_general_cs'; -sum(id) -10741 -select collation_name, character_set_name into @x,@y -from collation_character_set_applicability limit 1; -select @x, @y; -@x @y -big5_chinese_ci big5 -select * from routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -select count(*) from routines; -count(*) -1 -select * from statistics -where not (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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 3 type A 1 NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE -NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 0 NULL NULL BTREE -NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE -NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE -NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 3 NULL NULL BTREE -select * from views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER -NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from user_privileges order by grantee, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * from schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -select * from table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from column_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -NULL mysql PRIMARY mysql help_keyword PRIMARY KEY -NULL mysql name mysql help_keyword UNIQUE -NULL mysql PRIMARY mysql help_relation PRIMARY KEY -NULL mysql PRIMARY mysql help_topic PRIMARY KEY -NULL mysql name mysql help_topic UNIQUE -NULL mysql PRIMARY mysql host PRIMARY KEY -NULL mysql PRIMARY mysql proc PRIMARY KEY -NULL mysql PRIMARY mysql procs_priv PRIMARY KEY -NULL mysql PRIMARY mysql tables_priv PRIMARY KEY -NULL mysql PRIMARY mysql time_zone PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_leap_second PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_name PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_transition PRIMARY KEY -NULL mysql PRIMARY mysql time_zone_transition_type PRIMARY KEY -NULL mysql PRIMARY mysql user PRIMARY KEY -select * from key_column_usage; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL -select count(*) as max_recs from key_column_usage; -max_recs -40 -select max(cardinality) from statistics -where not (table_schema = 'mysql' and table_name like 'help_%'); -max(cardinality) -393 -select concat("View '", -table_name, "' is associated with the database '", table_schema, "'.") -AS "Who is Who for the Views" - from views; -Who is Who for the Views -View 'v1' is associated with the database 'db_datadict'. -View 'vu' is associated with the database 'db_datadict'. -View 'vu1' is associated with the database 'db_datadict'. -select concat("Table or view '", table_name, -"' is associated with the database '", table_schema, "'.") as "Who is Who" - from tables; -Who is Who -Table or view 'CHARACTER_SETS' is associated with the database 'information_schema'. -Table or view 'COLLATIONS' is associated with the database 'information_schema'. -Table or view 'COLLATION_CHARACTER_SET_APPLICABILITY' is associated with the database 'information_schema'. -Table or view 'COLUMNS' is associated with the database 'information_schema'. -Table or view 'COLUMN_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'KEY_COLUMN_USAGE' is associated with the database 'information_schema'. -Table or view 'ROUTINES' is associated with the database 'information_schema'. -Table or view 'SCHEMATA' is associated with the database 'information_schema'. -Table or view 'SCHEMA_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'STATISTICS' is associated with the database 'information_schema'. -Table or view 'TABLES' is associated with the database 'information_schema'. -Table or view 'TABLE_CONSTRAINTS' is associated with the database 'information_schema'. -Table or view 'TABLE_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'TRIGGERS' is associated with the database 'information_schema'. -Table or view 'USER_PRIVILEGES' is associated with the database 'information_schema'. -Table or view 'VIEWS' is associated with the database 'information_schema'. -Table or view 'v1' is associated with the database 'db_datadict'. -Table or view 'vu' is associated with the database 'db_datadict'. -Table or view 'vu1' is associated with the database 'db_datadict'. -Table or view 'columns_priv' is associated with the database 'mysql'. -Table or view 'db' is associated with the database 'mysql'. -Table or view 'func' is associated with the database 'mysql'. -Table or view 'help_category' is associated with the database 'mysql'. -Table or view 'help_keyword' is associated with the database 'mysql'. -Table or view 'help_relation' is associated with the database 'mysql'. -Table or view 'help_topic' is associated with the database 'mysql'. -Table or view 'host' is associated with the database 'mysql'. -Table or view 'proc' is associated with the database 'mysql'. -Table or view 'procs_priv' is associated with the database 'mysql'. -Table or view 'tables_priv' is associated with the database 'mysql'. -Table or view 'time_zone' is associated with the database 'mysql'. -Table or view 'time_zone_leap_second' is associated with the database 'mysql'. -Table or view 'time_zone_name' is associated with the database 'mysql'. -Table or view 'time_zone_transition' is associated with the database 'mysql'. -Table or view 'time_zone_transition_type' is associated with the database 'mysql'. -Table or view 'user' is associated with the database 'mysql'. -Table or view 't1' is associated with the database 'test'. -Table or view 't10' is associated with the database 'test'. -Table or view 't11' is associated with the database 'test'. -Table or view 't2' is associated with the database 'test'. -Table or view 't3' is associated with the database 'test'. -Table or view 't4' is associated with the database 'test'. -Table or view 't7' is associated with the database 'test'. -Table or view 't8' is associated with the database 'test'. -Table or view 't9' is associated with the database 'test'. -Table or view 'tb1' is associated with the database 'test'. -Table or view 'tb2' is associated with the database 'test'. -Table or view 'tb3' is associated with the database 'test'. -Table or view 'tb4' is associated with the database 'test'. -Table or view 'tb2' is associated with the database 'test1'. -Table or view 't6' is associated with the database 'test4'. -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; -user's having select privilege substring( grantee, length(SUBSTRING_INDEX(grantee,_utf8'@',1))+2 ) -'root'@'127.0.0.1' '127.0.0.1' -'root'@'<SERVER_NAME>' '<SERVER_NAME>' -'root'@'localhost' 'localhost' -select all table_schema from schema_privileges limit 0,5; -table_schema -test -test -test -test -test -select distinct(privilege_type) from table_privileges; -privilege_type -select * from column_privileges -group by table_schema having table_schema = 'db_datadict'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from table_constraints limit 0,5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select count(*) as max_recs from key_column_usage limit 0,5; -max_recs -40 -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; -table name no of columns in the table -CHARACTER_SETS 4 -COLLATIONS 6 -COLLATION_CHARACTER_SET_APPLICABILITY 2 -COLUMNS 19 -columns_priv 7 -COLUMN_PRIVILEGES 7 -db 20 -func 4 -help_category 4 -help_keyword 2 -help_relation 2 -help_topic 6 -host 19 -KEY_COLUMN_USAGE 12 -proc 16 -procs_priv 8 -ROUTINES 20 -SCHEMATA 5 -SCHEMA_PRIVILEGES 5 -STATISTICS 15 -t1 6 -t10 6 -t11 6 -t2 6 -t3 3 -t4 6 -t6 6 -t7 4 -t8 4 -t9 3 -TABLES 21 -tables_priv 8 -TABLE_CONSTRAINTS 6 -TABLE_PRIVILEGES 6 -tb1 58 -tb2 59 -tb3 58 -tb4 67 -time_zone 2 -time_zone_leap_second 2 -time_zone_name 2 -time_zone_transition 3 -time_zone_transition_type 5 -TRIGGERS 19 -user 37 -USER_PRIVILEGES 4 -v1 21 -VIEWS 8 -vu 3 -vu1 1 - -root: simple select to check all - and never forget some - tables ------------------------------------------------------------------ -SELECT * FROM schemata LIMIT 1; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -SELECT * FROM tables LIMIT 1; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL utf8_general_ci NULL #CO# -SELECT * FROM columns LIMIT 1; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -SELECT * FROM character_sets LIMIT 1; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -SELECT * FROM collations where collation_name <> 'utf8_general_cs' LIMIT 1; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -SELECT * FROM collation_character_set_applicability where collation_name <> 'utf8_general_cs' LIMIT 1; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -SELECT * FROM routines LIMIT 1; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER <Created> <Last_Altered> root@localhost -SELECT * FROM statistics LIMIT 1; -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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -SELECT * FROM views LIMIT 1; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -SELECT * FROM user_privileges LIMIT 1; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -SELECT * FROM schema_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -SELECT * FROM table_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM column_privileges LIMIT 1; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM table_constraints LIMIT 1; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -SELECT * FROM key_column_usage LIMIT 1; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -SELECT * FROM triggers LIMIT 1; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -SELECT * FROM parameters LIMIT 1; -ERROR 42S02: Unknown table 'parameters' in information_schema -SELECT * FROM referential_constraints LIMIT 1; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema -use db_datadict; -select * from schemata; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -select * from tables; -ERROR 42S02: Table 'db_datadict.tables' doesn't exist -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 42S02: Table 'db_datadict.schemata' doesn't exist -select * from columns limit 0, 5; -ERROR 42S02: Table 'db_datadict.columns' doesn't exist -select * from character_sets limit 0, 5; -ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist -select * from collations limit 0, 5; -ERROR 42S02: Table 'db_datadict.collations' doesn't exist -select * from collation_character_set_applicability limit 0, 5; -ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist -select * from routines limit 0, 5; -ERROR 42S02: Table 'db_datadict.routines' doesn't exist -select * from statistics limit 0, 5; -ERROR 42S02: Table 'db_datadict.statistics' doesn't exist -select * from views limit 0, 5; -ERROR 42S02: Table 'db_datadict.views' doesn't exist -select * from user_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist -select * from schema_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist -select * from table_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist -select * from column_privileges limit 0, 5; -ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist -select * from table_constraints limit 0, 5; -ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist -select * from key_column_usage limit 0, 5; -ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist - -will fail due to missing database name --------------------------------------- - -known error 1146: ------------------ -SELECT * FROM schemata ; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * FROM tables ; -ERROR 42S02: Table 'db_datadict.tables' doesn't exist -SELECT * FROM columns ; -ERROR 42S02: Table 'db_datadict.columns' doesn't exist -SELECT * FROM character_sets ; -ERROR 42S02: Table 'db_datadict.character_sets' doesn't exist -SELECT * FROM collations ; -ERROR 42S02: Table 'db_datadict.collations' doesn't exist -SELECT * FROM collation_character_set_applicability ; -ERROR 42S02: Table 'db_datadict.collation_character_set_applicability' doesn't exist -SELECT * FROM routines ; -ERROR 42S02: Table 'db_datadict.routines' doesn't exist -SELECT * FROM statistics ; -ERROR 42S02: Table 'db_datadict.statistics' doesn't exist -SELECT * FROM views ; -ERROR 42S02: Table 'db_datadict.views' doesn't exist -SELECT * FROM user_privileges ; -ERROR 42S02: Table 'db_datadict.user_privileges' doesn't exist -SELECT * FROM schema_privileges ; -ERROR 42S02: Table 'db_datadict.schema_privileges' doesn't exist -SELECT * FROM table_privileges ; -ERROR 42S02: Table 'db_datadict.table_privileges' doesn't exist -SELECT * FROM column_privileges ; -ERROR 42S02: Table 'db_datadict.column_privileges' doesn't exist -SELECT * FROM table_constraints ; -ERROR 42S02: Table 'db_datadict.table_constraints' doesn't exist -SELECT * FROM key_column_usage ; -ERROR 42S02: Table 'db_datadict.key_column_usage' doesn't exist -SELECT * FROM triggers ; -ERROR 42S02: Table 'db_datadict.triggers' doesn't exist -select * from information_schema.schemata ORDER BY 2 DESC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test4 latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME CHARACTER_SETS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATIONS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLLATION_CHARACTER_SET_APPLICABILITY -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMNS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME COLUMN_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME KEY_COLUMN_USAGE -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME ROUTINES -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMATA -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME SCHEMA_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME STATISTICS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_CONSTRAINTS -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TABLE_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME TRIGGERS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME USER_PRIVILEGES -TABLE_TYPE SYSTEM VIEW -ENGINE MEMORY -VERSION 0 -ROW_FORMAT Fixed -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA information_schema -TABLE_NAME VIEWS -TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM -VERSION 0 -ROW_FORMAT Dynamic -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS #CO# -TABLE_COMMENT -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema') -AND NOT (table_schema = 'mysql' AND table_name LIKE 'help_%'); -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME v1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA db_datadict -TABLE_NAME vu1 -TABLE_TYPE VIEW -ENGINE NULL -VERSION NULL -ROW_FORMAT NULL -TABLE_ROWS NULL -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION NULL -CHECKSUM NULL -CREATE_OPTIONS NULL -TABLE_COMMENT VIEW -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME columns_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Column privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME db -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 2 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME func -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT User defined functions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME host -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Host privileges; Merged with database privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME proc -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 1 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Stored Procedures -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME procs_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Procedure privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME tables_priv -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 0 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Table privileges -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 5 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT 6 -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_leap_second -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 22 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Leap seconds information for time zones -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_name -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 6 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone names -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 393 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transitions -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME time_zone_transition_type -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 31 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_general_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Time zone transition types -TABLE_CATALOG NULL -TABLE_SCHEMA mysql -TABLE_NAME user -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 3 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION utf8_bin -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT Users and global privileges -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t1 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t10 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t11 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t2 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t3 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t4 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t7 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t8 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME t9 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb1 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb3 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test -TABLE_NAME tb4 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test1 -TABLE_NAME tb2 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Dynamic -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -TABLE_CATALOG NULL -TABLE_SCHEMA test4 -TABLE_NAME t6 -TABLE_TYPE BASE TABLE -ENGINE MyISAM -VERSION 10 -ROW_FORMAT Fixed -TABLE_ROWS 10 -AVG_ROW_LENGTH #ARL# -DATA_LENGTH #DL# -MAX_DATA_LENGTH #MDL# -INDEX_LENGTH #IL# -DATA_FREE #DF# -AUTO_INCREMENT NULL -CREATE_TIME YYYY-MM-DD hh:mm:ss -UPDATE_TIME YYYY-MM-DD hh:mm:ss -CHECK_TIME YYYY-MM-DD hh:mm:ss -TABLE_COLLATION latin1_swedish_ci -CHECKSUM NULL -CREATE_OPTIONS -TABLE_COMMENT -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; -catalog_name schema_name default_character_set_name table_type engine -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 BASE TABLE MyISAM -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MEMORY -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 SYSTEM VIEW MyISAM -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL db_datadict latin1 VIEW NULL -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 BASE TABLE MyISAM -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MEMORY -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 SYSTEM VIEW MyISAM -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL information_schema utf8 VIEW NULL -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 BASE TABLE MyISAM -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MEMORY -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 SYSTEM VIEW MyISAM -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL mysql latin1 VIEW NULL -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 BASE TABLE MyISAM -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MEMORY -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 SYSTEM VIEW MyISAM -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test latin1 VIEW NULL -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 BASE TABLE MyISAM -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MEMORY -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 SYSTEM VIEW MyISAM -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test1 latin1 VIEW NULL -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 BASE TABLE MyISAM -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MEMORY -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 SYSTEM VIEW MyISAM -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -NULL test4 latin1 VIEW NULL -select * from information_schema.columns limit 0, 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -select * from information_schema.character_sets limit 0, 5; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -select * from information_schema.collations limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -big5_bin big5 84 Yes 1 -dec8_swedish_ci dec8 3 Yes 0 -dec8_bin dec8 69 0 -cp850_general_ci cp850 4 Yes 0 -select * from information_schema.collation_character_set_applicability limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -select * from information_schema.routines limit 0, 5; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_1 NULL db_datadict sp_1 PROCEDURE NULL SQL BEGIN -SELECT * FROM db_datadict.v1; -END NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -select * from information_schema.statistics limit 0, 5; -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 columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -select * from information_schema.views limit 0, 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v1 /* ALGORITHM=UNDEFINED */ select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables` NONE NO root@localhost DEFINER -NULL db_datadict vu /* ALGORITHM=UNDEFINED */ select distinct `vu1`.`u` AS `u`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3)) AS `server`,substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3),(length(substr(`vu1`.`u`,(length(substring_index(`vu1`.`u`,_utf8'@',1)) + 3))) - 1)) AS `Server_Clean` from `db_datadict`.`vu1` NONE NO root@localhost DEFINER -NULL db_datadict vu1 /* ALGORITHM=UNDEFINED */ select `user_privileges`.`GRANTEE` AS `u` from `information_schema`.`user_privileges` NONE NO root@localhost DEFINER -select * from information_schema.user_privileges limit 0, 5; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL UPDATE YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL CREATE YES -select * from information_schema.schema_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -select * from information_schema.table_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from information_schema.column_privileges limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from information_schema.table_constraints limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql PRIMARY mysql db PRIMARY KEY -NULL mysql PRIMARY mysql func PRIMARY KEY -NULL mysql PRIMARY mysql help_category PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select * from information_schema.key_column_usage limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -select count(*) as max_recs from information_schema.key_column_usage limit 0, 5; -max_recs -40 - -root: check with db name ------------------------- -SELECT COUNT(*) FROM information_schema. schemata ; -COUNT(*) -6 -SELECT COUNT(*) FROM information_schema. tables ; -COUNT(*) -51 -SELECT COUNT(*) FROM information_schema. columns ; -COUNT(*) -682 -SELECT COUNT(*) FROM information_schema. character_sets ; -COUNT(*) -36 -SELECT COUNT(*) FROM information_schema. collations where collation_name <> 'utf8_general_cs' ; -COUNT(*) -126 -SELECT COUNT(*) FROM information_schema. collation_character_set_applicability where collation_name <> 'utf8_general_cs' ; -COUNT(*) -126 -SELECT COUNT(*) FROM information_schema. routines ; -COUNT(*) -1 -SELECT COUNT(*) FROM information_schema. statistics ; -COUNT(*) -43 -SELECT COUNT(*) FROM information_schema. views ; -COUNT(*) -3 -SELECT COUNT(*) FROM information_schema. user_privileges ; -COUNT(*) -75 -SELECT COUNT(*) FROM information_schema. schema_privileges ; -COUNT(*) -28 -SELECT COUNT(*) FROM information_schema. table_privileges ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. column_privileges ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. table_constraints ; -COUNT(*) -20 -SELECT COUNT(*) FROM information_schema. key_column_usage ; -COUNT(*) -40 -SELECT COUNT(*) FROM information_schema. triggers ; -COUNT(*) -0 -SELECT COUNT(*) FROM information_schema. parameters ; -ERROR 42S02: Unknown table 'parameters' in information_schema -SELECT COUNT(*) FROM information_schema. referential_constraints ; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema -USE db_datadict; -DROP VIEW v1, vu1, vu; -DROP PROCEDURE db_datadict.sp_1; -USE information_schema; - -Testcase 3.2.1.2: --------------------------------------------------------------------------------- -select catalog_name, schema_name, default_character_set_name -from schemata where schema_name like '%s%'; -catalog_name schema_name default_character_set_name -NULL information_schema utf8 -NULL mysql latin1 -NULL test latin1 -NULL test1 latin1 -NULL test4 latin1 -select count(*) as tot_tabs from tables; -tot_tabs -48 -select count(*) as the_cols from columns; -the_cols -657 -select max(maxlen) as the_max from character_sets; -the_max -3 -select * from collations order by id asc limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -latin2_czech_cs latin2 2 Yes 4 -dec8_swedish_ci dec8 3 Yes 0 -cp850_general_ci cp850 4 Yes 0 -latin1_german1_ci latin1 5 Yes 1 -select * from collation_character_set_applicability -order by character_set_name desc, collation_name limit 0, 5; -COLLATION_NAME CHARACTER_SET_NAME -utf8_bin utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_esperanto_ci utf8 -utf8_estonian_ci utf8 -select routine_definition from routines; -routine_definition -select * from statistics where table_name not like 'help_%' -group by index_name asc limit 0, 5; -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 procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -select concat(table_schema, ', ', table_name, ', ', view_definition) view_info -from views; -view_info -select concat(table_schema, ', ', table_name) "Table_info" - from tables ORDER BY 1; -Table_info -information_schema, CHARACTER_SETS -information_schema, COLLATIONS -information_schema, COLLATION_CHARACTER_SET_APPLICABILITY -information_schema, COLUMNS -information_schema, COLUMN_PRIVILEGES -information_schema, KEY_COLUMN_USAGE -information_schema, ROUTINES -information_schema, SCHEMATA -information_schema, SCHEMA_PRIVILEGES -information_schema, STATISTICS -information_schema, TABLES -information_schema, TABLE_CONSTRAINTS -information_schema, TABLE_PRIVILEGES -information_schema, TRIGGERS -information_schema, USER_PRIVILEGES -information_schema, VIEWS -mysql, columns_priv -mysql, db -mysql, func -mysql, help_category -mysql, help_keyword -mysql, help_relation -mysql, help_topic -mysql, host -mysql, proc -mysql, procs_priv -mysql, tables_priv -mysql, time_zone -mysql, time_zone_leap_second -mysql, time_zone_name -mysql, time_zone_transition -mysql, time_zone_transition_type -mysql, user -test, t1 -test, t10 -test, t11 -test, t2 -test, t3 -test, t4 -test, t7 -test, t8 -test, t9 -test, tb1 -test, tb2 -test, tb3 -test, tb4 -test1, tb2 -test4, t6 -select distinct grantee from user_privileges order by grantee, privilege_type; -grantee -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'localhost' -select * from schema_privileges where table_catalog is null limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -select * from table_privileges where grantee like '%r%' limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * from column_privileges where table_catalog is not null limit 0, 5; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select HIGH_PRIORITY * from table_constraints -group by constraint_name desc limit 0, 5; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL mysql PRIMARY mysql columns_priv PRIMARY KEY -NULL mysql name mysql help_category UNIQUE -select sum(ordinal_position) from key_column_usage; -sum(ordinal_position) -77 -select * from schemata limit 0,5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -select * from schemata limit 0,5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL mysql latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -NULL test1 latin1 latin1_swedish_ci NULL -select distinct grantee from user_privileges; -grantee -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'localhost' -select all grantee from user_privileges order by grantee, privilege_type; -grantee -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'127.0.0.1' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'<SERVER_NAME>' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -'root'@'localhost' -select id , character_set_name from collations order by id asc limit 10; -id character_set_name -1 big5 -2 latin2 -3 dec8 -4 cp850 -5 latin1 -6 hp8 -7 koi8r -8 latin1 -9 latin2 -10 swe7 -select table_catalog from columns -union all -select table_catalog from tables limit 0,5; -table_catalog -NULL -NULL -NULL -NULL -NULL -select table_catalog from columns -union -select table_catalog from tables limit 0,5; -table_catalog -NULL -select all schema_name from information_schema.schemata; -schema_name -information_schema -db_datadict -mysql -test -test1 -test4 -SELECT * -INTO OUTFILE '../tmp/out.myisam.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -USE test; -SELECT * -INTO OUTFILE '../tmp/out.myisam.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CREATE USER user_3212@localhost; -GRANT ALL ON db_datadict.* TO user_3212@localhost; -GRANT FILE ON *.* TO user_3212@localhost; -connect(localhost,user_3212,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -user_3212@localhost db_datadict -SELECT * -INTO OUTFILE '../tmp/out.myisam.user.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * -FROM schemata LIMIT 0, 5; -ERROR 42S02: Table 'db_datadict.schemata' doesn't exist -SELECT * -INTO OUTFILE '../tmp/out.myisam.user.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -SELECT * -FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -USE information_schema; -SELECT * -INTO OUTFILE '../tmp/out.myisam.user_2.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM schemata LIMIT 0, 5; -SELECT * -FROM schemata LIMIT 0, 5; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -SELECT * -INTO OUTFILE '../tmp/out.myisam.user_2.db.file' - FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' - LINES TERMINATED BY '\n' - FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -SELECT * -FROM information_schema.schemata -WHERE schema_name LIKE 'db_%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -USE information_schema; - -root@localhost information_schema -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; -1 2 3 4 -NULL information_schema CHARACTER_SETS MAXLEN -NULL information_schema CHARACTER_SETS DESCRIPTION -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME -NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW -NULL information_schema COLLATIONS SORTLEN -NULL information_schema COLLATIONS IS_DEFAULT -NULL information_schema COLLATIONS IS_COMPILED -NULL information_schema COLLATIONS ID -NULL information_schema COLLATIONS COLLATION_NAME -NULL information_schema COLLATIONS CHARACTER_SET_NAME -NULL information_schema COLLATIONS *** type = SYSTEM VIEW -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW -NULL information_schema COLUMNS TABLE_SCHEMA -NULL information_schema COLUMNS TABLE_NAME -NULL information_schema COLUMNS TABLE_CATALOG -NULL information_schema COLUMNS PRIVILEGES -NULL information_schema COLUMNS ORDINAL_POSITION -NULL information_schema COLUMNS NUMERIC_SCALE -NULL information_schema COLUMNS NUMERIC_PRECISION -NULL information_schema COLUMNS IS_NULLABLE -NULL information_schema COLUMNS EXTRA -NULL information_schema COLUMNS DATA_TYPE -NULL information_schema COLUMNS COLUMN_TYPE -NULL information_schema COLUMNS COLUMN_NAME -NULL information_schema COLUMNS COLUMN_KEY -NULL information_schema COLUMNS COLUMN_DEFAULT -NULL information_schema COLUMNS COLUMN_COMMENT -use information_schema; -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; -1 2 3 4 -NULL information_schema CHARACTER_SETS MAXLEN -NULL information_schema CHARACTER_SETS DESCRIPTION -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME -NULL information_schema CHARACTER_SETS *** type = SYSTEM VIEW -NULL information_schema COLLATIONS SORTLEN -NULL information_schema COLLATIONS IS_DEFAULT -NULL information_schema COLLATIONS IS_COMPILED -NULL information_schema COLLATIONS ID -NULL information_schema COLLATIONS COLLATION_NAME -NULL information_schema COLLATIONS CHARACTER_SET_NAME -NULL information_schema COLLATIONS *** type = SYSTEM VIEW -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY *** type = SYSTEM VIEW -NULL information_schema COLUMNS TABLE_SCHEMA -NULL information_schema COLUMNS TABLE_NAME -NULL information_schema COLUMNS TABLE_CATALOG -NULL information_schema COLUMNS PRIVILEGES -NULL information_schema COLUMNS ORDINAL_POSITION -NULL information_schema COLUMNS NUMERIC_SCALE -NULL information_schema COLUMNS NUMERIC_PRECISION -NULL information_schema COLUMNS IS_NULLABLE -NULL information_schema COLUMNS EXTRA -NULL information_schema COLUMNS DATA_TYPE -NULL information_schema COLUMNS COLUMN_TYPE -NULL information_schema COLUMNS COLUMN_NAME -NULL information_schema COLUMNS COLUMN_KEY -NULL information_schema COLUMNS COLUMN_DEFAULT -NULL information_schema COLUMNS COLUMN_COMMENT -DROP USER user_3212@localhost; - -Testcase 3.2.1.3: --------------------------------------------------------------------------------- -insert into schemata (catalog_name, schema_name, default_character_set_name, sql_path) -values ('null', 'db1', 'latin1', 'null'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into tables (table_schema, table_name)values('db_datadict', 't1'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into columns (table_name, column_name)values('t3', 'f2'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into character_sets (character_set_name, default_collate_name, description, maxlen) -values('cp1251', 'cp1251_general_ci', 'windows cyrillic', 1); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into collations ( collation_name, character_set_name, id, is_default, is_compiled, sortlen) -values ('cp1251_bin', 'cp1251', 50, '', '', 0); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into collation_character_set_applicability (collation_name, character_set_name) -values (' big5_chinese_ci', 'big6'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into routines(routine_name, routine_type ) values ('p2', 'procedure'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into statistics(table_schema, table_name, index_name) -values ('mysql', 'db', 'primary'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into views(table_schema, table_name) values ('db2', 'v2'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into user_privileges (privilege_type, is_grantable) values ('select', 'yes'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into schema_privileges (table_schema, privilege_type) values('db2', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into table_privileges (able_schema, table_name, privilege_type) -values('db2', 'v2', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into column_privileges (table_name, column_name, privilege_type) -values ('t3', 'f3', 'insert'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into table_constraints ( constraint_schema, constraint_name, table_schema) -values ('primary', 'mysql', 'user'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -insert into key_column_usage (constraint_schema, constraint_name, table_name) -values ('mysql', 'primary', 'db'); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_3; -create procedure db_datadict.sp_4_1_3() -begin -insert into information_schema.schema_privileges (table_schema,privilege_type) -values('db2','insert'); -end// -SELECT table_schema, privilege_type FROM information_schema.schema_privileges -WHERE table_schema LIKE 'db%'; -table_schema privilege_type -call db_datadict.sp_4_1_3(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -SELECT table_schema, privilege_type FROM information_schema.schema_privileges -WHERE table_schema LIKE 'db%'; -table_schema privilege_type -drop procedure db_datadict.sp_4_1_3; -CREATE USER user_4_1_3@localhost; -connect(localhost,user_4_1_3,,test,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_3@localhost test -use information_schema; -insert into table_constraints ( constraint_schema, constraint_name, table_schema) -values ('primary', 'mysql', 'user'); -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema - -Testcase 3.2.1.4: --------------------------------------------------------------------------------- -use information_schema; - -root@localhost information_schema -update schemata set schema_name = 'db5' where default_character_set_name = 'latin1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update tables set table_schema = 'db_datadict1' where table_name = 't1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update character_sets set character_set_name = 'cp1252' where maxlen = 1; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update collations set collation_name = 'cp1253_bin' - where character_set_name = 'cp1251'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update collation_character_set_applicability set collation_name = 'big6_chinese_ci' - where character_set_name = 'big6'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update routines set routine_name = p2 where routine_body = 'sql'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update statistics set table_schema = 'mysql1' where table_name = 'db'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update views set table_schema = 'db3' where table_name = 'v1'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update user_privileges set privilege_type = 'insert' where is_grantable = 'yes'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update schema_privileges set table_schema = 'db2' where privilege_type = 'select'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update table_privileges set table_name = 'v3' where privilege_type = 'select'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update column_privileges set table_name = 't4' where column_name = 'f3'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update table_constraints set constraint_schema = 'primary' - where table_schema = 'proc'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -update key_column_usage set table_name = 'db1' where constraint_name = 'primary'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_4; -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// -select * from information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin -update information_schema.routines set routine_name = 'p2' - where routine_name = 'sp_4_1_4'; -end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -call db_datadict.sp_4_1_4(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -select * from information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_4_1_4 NULL db_datadict sp_4_1_4 PROCEDURE NULL SQL begin -update information_schema.routines set routine_name = 'p2' - where routine_name = 'sp_4_1_4'; -end NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -drop procedure db_datadict.sp_4_1_4; -use information_schema; - -user_4_1_3@localhost information_schema -update user_privileges set privilege_type = 'insert' where is_grantable = 'yes'; -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema - -Testcase 3.2.1.5: --------------------------------------------------------------------------------- -use information_schema; - -root: DELETE FROM any table in IS ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DELETE FROM schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from schemata where schema_name = 'mysql'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from tables where table_name = 'abc'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from columns; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from character_sets; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from collations; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from collation_character_set_applicability; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from routines; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from statistics; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from views; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from user_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from schema_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from table_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from column_privileges; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from table_constraints; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -delete from key_column_usage; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure if exists db_datadict.sp_4_1_5; -create procedure db_datadict.sp_4_1_5() -begin -delete from information_schema.column_privileges; -end// -call db_datadict.sp_4_1_5(); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -drop procedure db_datadict.sp_4_1_5; -use information_schema; - -user_4_1_3@localhost information_schema -delete from tables where table_name = 'abc'; -ERROR 42000: Access denied for user 'user_4_1_3'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_3@localhost; - -Testcase 3.2.1.6: --------------------------------------------------------------------------------- -use information_schema; - -root: create a table with a name of an IS table directly in IS --------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE schemata ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE tables ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE columns ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE collations ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE routines ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE statistics ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE views ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE triggers ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create table t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -use db_datadict; - -root: create a table with a name of an IS table from other db -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE information_schema. schemata ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. tables ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. columns ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collations ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. routines ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. statistics ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. views ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. triggers ( c1 INT ); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create table information_schema.t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -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; -Grants for user_4_1_6@localhost -GRANT ALL PRIVILEGES ON *.* TO 'user_4_1_6'@'localhost' -connect(localhost,user_4_1_6,,information_schema,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_6@localhost information_schema -use information_schema; - -user: create a table with a name of an IS table directly in IS --------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE schemata ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE tables ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE columns ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE collations ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE routines ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE statistics ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE views ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE triggers ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -create table t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema -use test; - -user: create a table with a name of an IS table from other db -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE TABLE information_schema. schemata ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. tables ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. columns ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. character_sets ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collations ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. collation_character_set_applicability ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. routines ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. statistics ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. views ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. user_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. schema_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. column_privileges ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. table_constraints ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. key_column_usage ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -CREATE TABLE information_schema. triggers ( c1 INT ); -ERROR 42000: Access denied for user 'user_4_1_6'@'localhost' to database 'information_schema' -create table information_schema.t1 (f1 int, f2 int, f3 int); -ERROR 42S02: Unknown table 't1' in information_schema - -root@localhost db_datadict -DROP USER user_4_1_6@localhost; - -Testcase 3.2.1.7: --------------------------------------------------------------------------------- -use information_schema; - -root: create a view with a name of an IS table directly in IS -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW schemata AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW tables AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW columns AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW character_sets AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW collations AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW collation_character_set_applicability AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW routines AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW statistics AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW views AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW user_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW schema_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW table_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW column_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW table_constraints AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW key_column_usage AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW triggers AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW v1 AS SELECT * FROM information_schema.schemata; -ERROR 42S02: Unknown table 'v1' in information_schema -USE db_datadict; - -root: create a view with a name of an IS table from other db ------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW information_schema. schemata AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. tables AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. columns AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. character_sets AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collations AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. routines AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. statistics AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. views AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. user_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. schema_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. column_privileges AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_constraints AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. key_column_usage AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. triggers AS SELECT * FROM mysql.time_zone; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE VIEW v1 AS SELECT * FROM information_schema.columns; -SELECT * FROM v1 LIMIT 5; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -CREATE USER user_4_1_7@localhost; -GRANT ALL ON db_datadict.* TO user_4_1_7@localhost; -GRANT ALL ON information_schema.* TO user_4_1_7@localhost; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,user_4_1_7,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_7@localhost information_schema - -user: create a view with a name of an IS table directly in IS -------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW schemata AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW tables AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW columns AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW character_sets AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW collations AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW collation_character_set_applicability AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW routines AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW statistics AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW views AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW user_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW schema_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW table_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW column_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW table_constraints AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW key_column_usage AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW triggers AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -create view v1 as select * from table_privileges; -ERROR 42S02: Unknown table 'v1' in information_schema -use db_datadict; - -user: create a view with a name of an IS table from other db ------------------------------------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -CREATE VIEW information_schema. schemata AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. tables AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. columns AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. character_sets AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collations AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. collation_character_set_applicability AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. routines AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. statistics AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. views AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. user_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. schema_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. column_privileges AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. table_constraints AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. key_column_usage AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' -CREATE VIEW information_schema. triggers AS SELECT * FROM db_datadict.v1; -ERROR 42000: Access denied for user 'user_4_1_7'@'localhost' to database 'information_schema' - -root@localhost db_datadict -DROP USER user_4_1_7@localhost; -DROP VIEW db_datadict.v1; - -Testcase 3.2.1.8: --------------------------------------------------------------------------------- -use information_schema; -create index i1 on schemata(schema_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i2 on tables(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i3 on columns(table_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i4 on character_sets(character_set_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i6 on collation_character_set_applicability(collation_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i7 on routines(routine_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i8 on statistics(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i9 on views(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i10 on user_privileges(privilege_type); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i11 on schema_privileges(table_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i12 on table_privileges(able_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i13 on column_privileges(table_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i14 on table_constraints(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i15 on key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -create index i16 on triggers(trigger_name); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use db_datadict; -create index i15 on information_schema.key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; -CREATE USER user_4_1_8@localhost; -grant select, index on *.* to user_4_1_8@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_8,,test,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_8@localhost test -use information_schema; -create index i1 on schemata(schema_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i2 on tables(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i3 on columns(table_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i4 on character_sets(character_set_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i6 on collation_character_set_applicability(collation_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i7 on routines(routine_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i8 on statistics(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i9 on views(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i10 on user_privileges(privilege_type); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i11 on schema_privileges(table_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i12 on table_privileges(able_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i13 on column_privileges(table_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i14 on table_constraints(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i15 on key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -create index i16 on triggers(trigger_name); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' -use db_datadict; -create index i15 on information_schema.key_column_usage(constraint_schema); -ERROR 42000: Access denied for user 'user_4_1_8'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_8@localhost; - -Testcase 3.2.1.9: --------------------------------------------------------------------------------- - -root: alter a table from other db ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; - -root: alter a table from directly ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE schemata ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE tables ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE columns ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE collations ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE routines ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE statistics ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE views ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE triggers ADD f1 INT; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table schemata add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table tables drop primary key; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table columns add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table character_sets disable keys; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table collations enable keys; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table collation_character_set_applicability add f1 int; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table routines discard tablespace; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table statistics import tablespace; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table views drop column table_name; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table user_privileges drop index privilege_type; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table schema_privileges drop column is_grantable; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table table_privileges order by constraint_type; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table column_privileges rename to aaxyz; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table table_constraints order by schema_name; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table key_column_usage rename to information_schema.aabxyz; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -alter table triggers rename to information_schema.sql_mode; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE USER user_4_1_9@localhost; -grant select, alter, create, insert on *.* to user_4_1_9@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_9,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -user_4_1_9@localhost db_datadict -use db_datadict; - -user: alter a table from other db ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -use information_schema; - -user: alter a table from directly ---------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE schemata ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE tables ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE columns ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE character_sets ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE collations ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE collation_character_set_applicability ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE routines ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE statistics ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE views ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE user_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE schema_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE table_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE column_privileges ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE table_constraints ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE key_column_usage ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' -ALTER TABLE triggers ADD f1 INT; -ERROR 42000: Access denied for user 'user_4_1_9'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_9@localhost; - -Testcase 3.2.1.10: --------------------------------------------------------------------------------- -use information_schema; - -root: drop a table from IS --------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use db_datadict; - -root: drop a table from other db --------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE information_schema. schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DROP TABLE information_schema. triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -use information_schema; -CREATE USER user_4_1_10@localhost; -GRANT SELECT, DROP ON *.* TO user_4_1_10@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_10,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_10@localhost information_schema - -user: drop a table from IS --------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE schemata ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE tables ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE columns ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE character_sets ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE collations ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE collation_character_set_applicability ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE routines ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE statistics ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE views ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE user_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE schema_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE table_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE column_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE table_constraints ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE key_column_usage ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE triggers ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -use db_datadict; - -user: drop a table from other db --------------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DROP TABLE information_schema. schemata ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. tables ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. columns ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. character_sets ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collations ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. routines ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. statistics ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. views ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. user_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. column_privileges ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. table_constraints ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' -DROP TABLE information_schema. triggers ; -ERROR 42000: Access denied for user 'user_4_1_10'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_10@localhost; -CREATE USER user_4_1_11@localhost; -GRANT SUPER ON *.* TO user_4_1_11@localhost; -FLUSH PRIVILEGES; -connect(localhost,user_4_1_11,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; - -user_4_1_11@localhost information_schema -drop table routines; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -alter table collations enable keys; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -create index i5 on collations( collation_name ); -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -create view v1 as select * from schemata; -ERROR 42S02: Unknown table 'v1' in information_schema -delete from columns; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' -insert into collations ( collation_name, character_set_name, id, is_default, -is_compiled, sortlen) -values ('cp1251_bin', 'cp1251', 50, '', '', 0); -ERROR 42000: Access denied for user 'user_4_1_11'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP USER user_4_1_11@localhost; - -Testcase 3.2.1.11: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -CREATE USER 'u_6_401011'@'localhost'; -GRANT ALL ON information_schema.* TO 'u_6_401011'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -GRANT ALL ON db_datadict.* TO 'u_6_401011'@'localhost'; -FLUSH PRIVILEGES; -ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' - -root: move table to other DB ----------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -connect(localhost,u_6_401011,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; - -u_6_401011@localhost information_schema -ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' - -user: move table to other DB ----------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -ALTER TABLE information_schema. schemata RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. tables RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. columns RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. character_sets RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collations RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. collation_character_set_applicability RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. routines RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. statistics RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. views RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. user_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. schema_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. column_privileges RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. table_constraints RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. key_column_usage RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' -ALTER TABLE information_schema. triggers RENAME db_datadict.tb_01; -ERROR 42000: Access denied for user 'u_6_401011'@'localhost' to database 'information_schema' - -root@localhost information_schema -DROP TABLE IF EXISTS db_datadict.schemata; -DROP USER 'u_6_401011'@'localhost'; - -Testcase 3.2.1.12: --------------------------------------------------------------------------------- - -root: delete from IS tables ---------------------------- - -known error 1044 (ERROR 42000: Access denied for user ... to database ...): ---------------------------------------------------------------------------- -DELETE FROM information_schema. schemata ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. tables ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. columns ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. character_sets ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. collations ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. collation_character_set_applicability ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. routines ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. statistics ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. views ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. user_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. schema_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. table_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. column_privileges ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. table_constraints ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. key_column_usage ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -DELETE FROM information_schema. triggers ; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.tables SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.columns SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.statistics SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.views SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.table_privileges SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.column_privileges SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.table_constraints SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.key_column_usage SET table_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.schemata SET catalog_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.character_sets SET description = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.collations SET character_set_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.collation_character_set_applicability -SET character_set_name = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.routines SET routine_type = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.user_privileges SET grantee = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.schema_privileges SET grantee = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -UPDATE information_schema.triggers SET sql_mode = 't_4711'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -CREATE USER 'u_6_401012'@'localhost'; -connect(localhost,u_6_401012,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; -insert into information_schema.schemata (catalog_name, schema_name, -default_character_set_name, sql_path) -values (null, information_schema1, utf16, null); -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.schemata rename db_datadict1.schemata; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.tables drop column checksum; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.statistics modify packed int; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.routines modify created int not null; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.key_column_usage drop column ordinal_position; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -alter table information_schema.table_privileges -change privilege_type rights_approved varchar(32); -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -update columns set table_name = 't4' where column_name = 'f2'; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' -delete from information_schema.collations; -ERROR 42000: Access denied for user 'u_6_401012'@'localhost' to database 'information_schema' - -root@localhost information_schema -drop table if exists db_datadict1.schemata; -DROP USER 'u_6_401012'@'localhost'; - -Testcase 3.2.1.13: --------------------------------------------------------------------------------- -use information_schema; - -first check status >before< creating the objects ... ----------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -USE db_datadict; -create table res_t_401013(f1 char(10), f2 char(25), f3 int) -engine = myisam; -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; - -now check whether all new objects exists in IS ... --------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL db_datadict res_t_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references -NULL db_datadict res_v_401013 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401013 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL db_datadict res_v_401013 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401013 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401013 FUNCTION DEFINER -sp_6_401013 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -res_t_401013 db_datadict i_6_401013 BTREE -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -'u_6_401013'@'localhost' NULL USAGE NO -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -and now check whether all objects are removed from IS ... ---------------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER - -Testcase 3.2.1.14: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; - -show existing objects >before< changing them ... ------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_t_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict res_v_401014 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_v_401014 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401014 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401014 FUNCTION DEFINER -sp_6_401014 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -use db_datadict; -alter table res_t_401014 change f1 ff1 int; -alter table res_t_401014 engine = MEMORY; -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; - -now check whether the changes are visible in IS ... ---------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict utf8 utf8_general_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MEMORY -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict res_t_401014 f2 2 NULL YES varchar 25 25 NULL NULL latin1 latin1_swedish_ci varchar(25) select,insert,update,references -NULL db_datadict res_t_401014 f3_new 3 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL db_datadict res_v_401014 ff1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401014 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401014 FUNCTION DEFINER -sp_6_401014 PROCEDURE INVOKER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -Testcase 3.2.1.15: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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); - -show existing objects >before< dropping them ... ------------------------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -NULL db_datadict MyISAM -NULL db_datadict NULL -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict res_t_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_t_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL db_datadict res_t_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) MUL select,insert,update,references -NULL db_datadict res_v_401015 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict res_v_401015 f2 2 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL db_datadict res_v_401015 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -db_datadict res_v_401015 YES -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -fn_6_401015 FUNCTION DEFINER -sp_6_401015 PROCEDURE DEFINER -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -res_t_401015 db_datadict i_6_401015 BTREE -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -'u_6_401015'@'localhost' NULL USAGE NO -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER -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; - -now check they are really gone ... ----------------------------------- -select * -from information_schema.schemata -where schema_name like 'db_datadict%'; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL db_datadict latin1 latin1_swedish_ci NULL -select table_catalog, table_schema, engine -from information_schema.tables -where table_schema like 'db_datadict%'; -table_catalog table_schema engine -select * -from information_schema.columns -where table_schema like 'db_datadict%'; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -select table_schema, table_name, is_updatable -from information_schema.views -where table_schema like 'db_datadict%'; -table_schema table_name is_updatable -select routine_name, routine_type, security_type, sql_mode -from information_schema.routines -where routine_schema like 'db_datadict%'; -routine_name routine_type security_type sql_mode -select table_name, index_schema, index_name, index_type -from information_schema.statistics -where table_schema like 'db_datadict%'; -table_name index_schema index_name index_type -select * -from information_schema.user_privileges; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'root'@'127.0.0.1' NULL ALTER YES -'root'@'127.0.0.1' NULL ALTER ROUTINE YES -'root'@'127.0.0.1' NULL CREATE YES -'root'@'127.0.0.1' NULL CREATE ROUTINE YES -'root'@'127.0.0.1' NULL CREATE TEMPORARY TABLES YES -'root'@'127.0.0.1' NULL CREATE USER YES -'root'@'127.0.0.1' NULL CREATE VIEW YES -'root'@'127.0.0.1' NULL DELETE YES -'root'@'127.0.0.1' NULL DROP YES -'root'@'127.0.0.1' NULL EXECUTE YES -'root'@'127.0.0.1' NULL FILE YES -'root'@'127.0.0.1' NULL INDEX YES -'root'@'127.0.0.1' NULL INSERT YES -'root'@'127.0.0.1' NULL LOCK TABLES YES -'root'@'127.0.0.1' NULL PROCESS YES -'root'@'127.0.0.1' NULL REFERENCES YES -'root'@'127.0.0.1' NULL RELOAD YES -'root'@'127.0.0.1' NULL REPLICATION CLIENT YES -'root'@'127.0.0.1' NULL REPLICATION SLAVE YES -'root'@'127.0.0.1' NULL SELECT YES -'root'@'127.0.0.1' NULL SHOW DATABASES YES -'root'@'127.0.0.1' NULL SHOW VIEW YES -'root'@'127.0.0.1' NULL SHUTDOWN YES -'root'@'127.0.0.1' NULL SUPER YES -'root'@'127.0.0.1' NULL UPDATE YES -'root'@'<SERVER_NAME>' NULL ALTER YES -'root'@'<SERVER_NAME>' NULL ALTER ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE YES -'root'@'<SERVER_NAME>' NULL CREATE ROUTINE YES -'root'@'<SERVER_NAME>' NULL CREATE TEMPORARY TABLES YES -'root'@'<SERVER_NAME>' NULL CREATE USER YES -'root'@'<SERVER_NAME>' NULL CREATE VIEW YES -'root'@'<SERVER_NAME>' NULL DELETE YES -'root'@'<SERVER_NAME>' NULL DROP YES -'root'@'<SERVER_NAME>' NULL EXECUTE YES -'root'@'<SERVER_NAME>' NULL FILE YES -'root'@'<SERVER_NAME>' NULL INDEX YES -'root'@'<SERVER_NAME>' NULL INSERT YES -'root'@'<SERVER_NAME>' NULL LOCK TABLES YES -'root'@'<SERVER_NAME>' NULL PROCESS YES -'root'@'<SERVER_NAME>' NULL REFERENCES YES -'root'@'<SERVER_NAME>' NULL RELOAD YES -'root'@'<SERVER_NAME>' NULL REPLICATION CLIENT YES -'root'@'<SERVER_NAME>' NULL REPLICATION SLAVE YES -'root'@'<SERVER_NAME>' NULL SELECT YES -'root'@'<SERVER_NAME>' NULL SHOW DATABASES YES -'root'@'<SERVER_NAME>' NULL SHOW VIEW YES -'root'@'<SERVER_NAME>' NULL SHUTDOWN YES -'root'@'<SERVER_NAME>' NULL SUPER YES -'root'@'<SERVER_NAME>' NULL UPDATE YES -'root'@'localhost' NULL ALTER YES -'root'@'localhost' NULL ALTER ROUTINE YES -'root'@'localhost' NULL CREATE YES -'root'@'localhost' NULL CREATE ROUTINE YES -'root'@'localhost' NULL CREATE TEMPORARY TABLES YES -'root'@'localhost' NULL CREATE USER YES -'root'@'localhost' NULL CREATE VIEW YES -'root'@'localhost' NULL DELETE YES -'root'@'localhost' NULL DROP YES -'root'@'localhost' NULL EXECUTE YES -'root'@'localhost' NULL FILE YES -'root'@'localhost' NULL INDEX YES -'root'@'localhost' NULL INSERT YES -'root'@'localhost' NULL LOCK TABLES YES -'root'@'localhost' NULL PROCESS YES -'root'@'localhost' NULL REFERENCES YES -'root'@'localhost' NULL RELOAD YES -'root'@'localhost' NULL REPLICATION CLIENT YES -'root'@'localhost' NULL REPLICATION SLAVE YES -'root'@'localhost' NULL SELECT YES -'root'@'localhost' NULL SHOW DATABASES YES -'root'@'localhost' NULL SHOW VIEW YES -'root'@'localhost' NULL SHUTDOWN YES -'root'@'localhost' NULL SUPER YES -'root'@'localhost' NULL UPDATE YES -select * -from information_schema.column_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.table_privileges -where table_schema like 'db_datadict%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select * -from information_schema.key_column_usage -where table_schema like 'db_datadict%'; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -SELECT * -FROM information_schema.triggers -WHERE trigger_schema LIKE 'db_datadict%'; -TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER - -Testcase 3.2.1.16: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,u_6_401016,,test,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; -SELECT table_schema, table_name, engine -FROM TABLES; -table_schema table_name engine -information_schema CHARACTER_SETS MEMORY -information_schema COLLATIONS MEMORY -information_schema COLLATION_CHARACTER_SET_APPLICABILITY MEMORY -information_schema COLUMNS MyISAM -information_schema COLUMN_PRIVILEGES MEMORY -information_schema KEY_COLUMN_USAGE MEMORY -information_schema ROUTINES MyISAM -information_schema SCHEMATA MEMORY -information_schema SCHEMA_PRIVILEGES MEMORY -information_schema STATISTICS MEMORY -information_schema TABLES MEMORY -information_schema TABLE_CONSTRAINTS MEMORY -information_schema TABLE_PRIVILEGES MEMORY -information_schema TRIGGERS MyISAM -information_schema USER_PRIVILEGES MEMORY -information_schema VIEWS MyISAM -db_datadict res_t_401016 MyISAM -test t1 MyISAM -test t10 MyISAM -test t11 MyISAM -test t2 MyISAM -test t3 MyISAM -test t4 MyISAM -test t7 MyISAM -test t8 MyISAM -test t9 MyISAM -test tb1 MyISAM -test tb2 MyISAM -test tb3 MyISAM -test tb4 MyISAM -SHOW TABLES; -Tables_in_information_schema -CHARACTER_SETS -COLLATIONS -COLLATION_CHARACTER_SET_APPLICABILITY -COLUMNS -COLUMN_PRIVILEGES -KEY_COLUMN_USAGE -ROUTINES -SCHEMATA -SCHEMA_PRIVILEGES -STATISTICS -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL - -root@localhost db_datadict -grant usage on information_schema.* to 'u_6_401016'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,u_6_401016,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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 -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -use db_datadict; - -root@localhost db_datadict -DROP USER 'u_6_401016'@'localhost'; -drop table res_t_401016; -drop table res_t_401016_1; -DROP DATABASE db_hidden; - -Testcase 3.2.1.17: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401017'@'localhost'; -grant select on information_schema.* to u_6_401017@localhost; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -FLUSH PRIVILEGES; -connect(localhost,u_6_401017,,test,MYSQL_PORT,MYSQL_SOCK); -use information_schema; -select * from collation_character_set_applicability -where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -cp850_bin cp850 -hp8_english_ci hp8 -hp8_bin hp8 -koi8r_general_ci koi8r -koi8r_bin koi8r -latin1_german1_ci latin1 -latin1_swedish_ci latin1 -latin1_danish_ci latin1 -latin1_german2_ci latin1 -latin1_bin latin1 -latin1_general_ci latin1 -latin1_general_cs latin1 -latin1_spanish_ci latin1 -latin2_czech_cs latin2 -latin2_general_ci latin2 -latin2_hungarian_ci latin2 -latin2_croatian_ci latin2 -latin2_bin latin2 -swe7_swedish_ci swe7 -swe7_bin swe7 -ascii_general_ci ascii -ascii_bin ascii -ujis_japanese_ci ujis -ujis_bin ujis -sjis_japanese_ci sjis -sjis_bin sjis -hebrew_general_ci hebrew -hebrew_bin hebrew -tis620_thai_ci tis620 -tis620_bin tis620 -euckr_korean_ci euckr -euckr_bin euckr -koi8u_general_ci koi8u -koi8u_bin koi8u -gb2312_chinese_ci gb2312 -gb2312_bin gb2312 -greek_general_ci greek -greek_bin greek -cp1250_general_ci cp1250 -cp1250_czech_cs cp1250 -cp1250_croatian_ci cp1250 -cp1250_bin cp1250 -gbk_chinese_ci gbk -gbk_bin gbk -latin5_turkish_ci latin5 -latin5_bin latin5 -armscii8_general_ci armscii8 -armscii8_bin armscii8 -utf8_general_ci utf8 -utf8_bin utf8 -utf8_unicode_ci utf8 -utf8_icelandic_ci utf8 -utf8_latvian_ci utf8 -utf8_romanian_ci utf8 -utf8_slovenian_ci utf8 -utf8_polish_ci utf8 -utf8_estonian_ci utf8 -utf8_spanish_ci utf8 -utf8_swedish_ci utf8 -utf8_turkish_ci utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_lithuanian_ci utf8 -utf8_slovak_ci utf8 -utf8_spanish2_ci utf8 -utf8_roman_ci utf8 -utf8_persian_ci utf8 -utf8_esperanto_ci utf8 -utf8_hungarian_ci utf8 -ucs2_general_ci ucs2 -ucs2_bin ucs2 -ucs2_unicode_ci ucs2 -ucs2_icelandic_ci ucs2 -ucs2_latvian_ci ucs2 -ucs2_romanian_ci ucs2 -ucs2_slovenian_ci ucs2 -ucs2_polish_ci ucs2 -ucs2_estonian_ci ucs2 -ucs2_spanish_ci ucs2 -ucs2_swedish_ci ucs2 -ucs2_turkish_ci ucs2 -ucs2_czech_ci ucs2 -ucs2_danish_ci ucs2 -ucs2_lithuanian_ci ucs2 -ucs2_slovak_ci ucs2 -ucs2_spanish2_ci ucs2 -ucs2_roman_ci ucs2 -ucs2_persian_ci ucs2 -ucs2_esperanto_ci ucs2 -ucs2_hungarian_ci ucs2 -cp866_general_ci cp866 -cp866_bin cp866 -keybcs2_general_ci keybcs2 -keybcs2_bin keybcs2 -macce_general_ci macce -macce_bin macce -macroman_general_ci macroman -macroman_bin macroman -cp852_general_ci cp852 -cp852_bin cp852 -latin7_estonian_cs latin7 -latin7_general_ci latin7 -latin7_general_cs latin7 -latin7_bin latin7 -cp1251_bulgarian_ci cp1251 -cp1251_ukrainian_ci cp1251 -cp1251_bin cp1251 -cp1251_general_ci cp1251 -cp1251_general_cs cp1251 -cp1256_general_ci cp1256 -cp1256_bin cp1256 -cp1257_lithuanian_ci cp1257 -cp1257_bin cp1257 -cp1257_general_ci cp1257 -binary binary -geostd8_general_ci geostd8 -geostd8_bin geostd8 -cp932_japanese_ci cp932 -cp932_bin cp932 -eucjpms_japanese_ci eucjpms -eucjpms_bin eucjpms -select * from schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL -select table_name from tables; -table_name -CHARACTER_SETS -COLLATIONS -COLLATION_CHARACTER_SET_APPLICABILITY -COLUMNS -COLUMN_PRIVILEGES -KEY_COLUMN_USAGE -ROUTINES -SCHEMATA -SCHEMA_PRIVILEGES -STATISTICS -TABLES -TABLE_CONSTRAINTS -TABLE_PRIVILEGES -TRIGGERS -USER_PRIVILEGES -VIEWS -t1 -t10 -t11 -t2 -t3 -t4 -t7 -t8 -t9 -tb1 -tb2 -tb3 -tb4 -select table_name, column_name, column_type from columns; -table_name column_name column_type -CHARACTER_SETS CHARACTER_SET_NAME varchar(64) -CHARACTER_SETS DEFAULT_COLLATE_NAME varchar(64) -CHARACTER_SETS DESCRIPTION varchar(60) -CHARACTER_SETS MAXLEN bigint(3) -COLLATIONS COLLATION_NAME varchar(64) -COLLATIONS CHARACTER_SET_NAME varchar(64) -COLLATIONS ID bigint(11) -COLLATIONS IS_DEFAULT varchar(3) -COLLATIONS IS_COMPILED varchar(3) -COLLATIONS SORTLEN bigint(3) -COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar(64) -COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar(64) -COLUMNS TABLE_CATALOG varchar(4096) -COLUMNS TABLE_SCHEMA varchar(64) -COLUMNS TABLE_NAME varchar(64) -COLUMNS COLUMN_NAME varchar(64) -COLUMNS ORDINAL_POSITION bigint(21) -COLUMNS COLUMN_DEFAULT longtext -COLUMNS IS_NULLABLE varchar(3) -COLUMNS DATA_TYPE varchar(64) -COLUMNS CHARACTER_MAXIMUM_LENGTH bigint(21) -COLUMNS CHARACTER_OCTET_LENGTH bigint(21) -COLUMNS NUMERIC_PRECISION bigint(21) -COLUMNS NUMERIC_SCALE bigint(21) -COLUMNS CHARACTER_SET_NAME varchar(64) -COLUMNS COLLATION_NAME varchar(64) -COLUMNS COLUMN_TYPE longtext -COLUMNS COLUMN_KEY varchar(3) -COLUMNS EXTRA varchar(20) -COLUMNS PRIVILEGES varchar(80) -COLUMNS COLUMN_COMMENT varchar(255) -COLUMN_PRIVILEGES GRANTEE varchar(81) -COLUMN_PRIVILEGES TABLE_CATALOG varchar(4096) -COLUMN_PRIVILEGES TABLE_SCHEMA varchar(64) -COLUMN_PRIVILEGES TABLE_NAME varchar(64) -COLUMN_PRIVILEGES COLUMN_NAME varchar(64) -COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar(64) -COLUMN_PRIVILEGES IS_GRANTABLE varchar(3) -KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar(4096) -KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar(64) -KEY_COLUMN_USAGE CONSTRAINT_NAME varchar(64) -KEY_COLUMN_USAGE TABLE_CATALOG varchar(4096) -KEY_COLUMN_USAGE TABLE_SCHEMA varchar(64) -KEY_COLUMN_USAGE TABLE_NAME varchar(64) -KEY_COLUMN_USAGE COLUMN_NAME varchar(64) -KEY_COLUMN_USAGE ORDINAL_POSITION bigint(10) -KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint(10) -KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar(64) -KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar(64) -KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar(64) -ROUTINES SPECIFIC_NAME varchar(64) -ROUTINES ROUTINE_CATALOG varchar(4096) -ROUTINES ROUTINE_SCHEMA varchar(64) -ROUTINES ROUTINE_NAME varchar(64) -ROUTINES ROUTINE_TYPE varchar(9) -ROUTINES DTD_IDENTIFIER varchar(64) -ROUTINES ROUTINE_BODY varchar(8) -ROUTINES ROUTINE_DEFINITION longtext -ROUTINES EXTERNAL_NAME varchar(64) -ROUTINES EXTERNAL_LANGUAGE varchar(64) -ROUTINES PARAMETER_STYLE varchar(8) -ROUTINES IS_DETERMINISTIC varchar(3) -ROUTINES SQL_DATA_ACCESS varchar(64) -ROUTINES SQL_PATH varchar(64) -ROUTINES SECURITY_TYPE varchar(7) -ROUTINES CREATED datetime -ROUTINES LAST_ALTERED datetime -ROUTINES SQL_MODE longtext -ROUTINES ROUTINE_COMMENT varchar(64) -ROUTINES DEFINER varchar(77) -SCHEMATA CATALOG_NAME varchar(4096) -SCHEMATA SCHEMA_NAME varchar(64) -SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar(64) -SCHEMATA DEFAULT_COLLATION_NAME varchar(64) -SCHEMATA SQL_PATH varchar(4096) -SCHEMA_PRIVILEGES GRANTEE varchar(81) -SCHEMA_PRIVILEGES TABLE_CATALOG varchar(4096) -SCHEMA_PRIVILEGES TABLE_SCHEMA varchar(64) -SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar(64) -SCHEMA_PRIVILEGES IS_GRANTABLE varchar(3) -STATISTICS TABLE_CATALOG varchar(4096) -STATISTICS TABLE_SCHEMA varchar(64) -STATISTICS TABLE_NAME varchar(64) -STATISTICS NON_UNIQUE bigint(1) -STATISTICS INDEX_SCHEMA varchar(64) -STATISTICS INDEX_NAME varchar(64) -STATISTICS SEQ_IN_INDEX bigint(2) -STATISTICS COLUMN_NAME varchar(64) -STATISTICS COLLATION varchar(1) -STATISTICS CARDINALITY bigint(21) -STATISTICS SUB_PART bigint(3) -STATISTICS PACKED varchar(10) -STATISTICS NULLABLE varchar(3) -STATISTICS INDEX_TYPE varchar(16) -STATISTICS COMMENT varchar(16) -TABLES TABLE_CATALOG varchar(4096) -TABLES TABLE_SCHEMA varchar(64) -TABLES TABLE_NAME varchar(64) -TABLES TABLE_TYPE varchar(64) -TABLES ENGINE varchar(64) -TABLES VERSION bigint(21) -TABLES ROW_FORMAT varchar(10) -TABLES TABLE_ROWS bigint(21) -TABLES AVG_ROW_LENGTH bigint(21) -TABLES DATA_LENGTH bigint(21) -TABLES MAX_DATA_LENGTH bigint(21) -TABLES INDEX_LENGTH bigint(21) -TABLES DATA_FREE bigint(21) -TABLES AUTO_INCREMENT bigint(21) -TABLES CREATE_TIME datetime -TABLES UPDATE_TIME datetime -TABLES CHECK_TIME datetime -TABLES TABLE_COLLATION varchar(64) -TABLES CHECKSUM bigint(21) -TABLES CREATE_OPTIONS varchar(255) -TABLES TABLE_COMMENT varchar(80) -TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar(4096) -TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar(64) -TABLE_CONSTRAINTS CONSTRAINT_NAME varchar(64) -TABLE_CONSTRAINTS TABLE_SCHEMA varchar(64) -TABLE_CONSTRAINTS TABLE_NAME varchar(64) -TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar(64) -TABLE_PRIVILEGES GRANTEE varchar(81) -TABLE_PRIVILEGES TABLE_CATALOG varchar(4096) -TABLE_PRIVILEGES TABLE_SCHEMA varchar(64) -TABLE_PRIVILEGES TABLE_NAME varchar(64) -TABLE_PRIVILEGES PRIVILEGE_TYPE varchar(64) -TABLE_PRIVILEGES IS_GRANTABLE varchar(3) -TRIGGERS TRIGGER_CATALOG varchar(4096) -TRIGGERS TRIGGER_SCHEMA varchar(64) -TRIGGERS TRIGGER_NAME varchar(64) -TRIGGERS EVENT_MANIPULATION varchar(6) -TRIGGERS EVENT_OBJECT_CATALOG varchar(4096) -TRIGGERS EVENT_OBJECT_SCHEMA varchar(64) -TRIGGERS EVENT_OBJECT_TABLE varchar(64) -TRIGGERS ACTION_ORDER bigint(4) -TRIGGERS ACTION_CONDITION longtext -TRIGGERS ACTION_STATEMENT longtext -TRIGGERS ACTION_ORIENTATION varchar(9) -TRIGGERS ACTION_TIMING varchar(6) -TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar(64) -TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar(64) -TRIGGERS ACTION_REFERENCE_OLD_ROW varchar(3) -TRIGGERS ACTION_REFERENCE_NEW_ROW varchar(3) -TRIGGERS CREATED datetime -TRIGGERS SQL_MODE longtext -TRIGGERS DEFINER longtext -USER_PRIVILEGES GRANTEE varchar(81) -USER_PRIVILEGES TABLE_CATALOG varchar(4096) -USER_PRIVILEGES PRIVILEGE_TYPE varchar(64) -USER_PRIVILEGES IS_GRANTABLE varchar(3) -VIEWS TABLE_CATALOG varchar(4096) -VIEWS TABLE_SCHEMA varchar(64) -VIEWS TABLE_NAME varchar(64) -VIEWS VIEW_DEFINITION longtext -VIEWS CHECK_OPTION varchar(8) -VIEWS IS_UPDATABLE varchar(3) -VIEWS DEFINER varchar(77) -VIEWS SECURITY_TYPE varchar(7) -t1 f1 char(20) -t1 f2 char(25) -t1 f3 date -t1 f4 int(11) -t1 f5 char(25) -t1 f6 int(11) -t10 f1 char(20) -t10 f2 char(25) -t10 f3 date -t10 f4 int(11) -t10 f5 char(25) -t10 f6 int(11) -t11 f1 char(20) -t11 f2 char(25) -t11 f3 date -t11 f4 int(11) -t11 f5 char(25) -t11 f6 int(11) -t2 f1 char(20) -t2 f2 char(25) -t2 f3 date -t2 f4 int(11) -t2 f5 char(25) -t2 f6 int(11) -t3 f1 char(20) -t3 f2 char(20) -t3 f3 int(11) -t4 f1 char(20) -t4 f2 char(25) -t4 f3 date -t4 f4 int(11) -t4 f5 char(25) -t4 f6 int(11) -t7 f1 char(20) -t7 f2 char(25) -t7 f3 date -t7 f4 int(11) -t8 f1 char(20) -t8 f2 char(25) -t8 f3 date -t8 f4 int(11) -t9 f1 int(11) -t9 f2 char(25) -t9 f3 int(11) -tb1 f1 char(1) -tb1 f2 char(1) -tb1 f3 char(1) -tb1 f4 tinytext -tb1 f5 text -tb1 f6 mediumtext -tb1 f7 longtext -tb1 f8 tinyblob -tb1 f9 blob -tb1 f10 mediumblob -tb1 f11 longblob -tb1 f12 binary(1) -tb1 f13 tinyint(4) -tb1 f14 tinyint(3) unsigned -tb1 f15 tinyint(3) unsigned zerofill -tb1 f16 tinyint(3) unsigned zerofill -tb1 f17 smallint(6) -tb1 f18 smallint(5) unsigned -tb1 f19 smallint(5) unsigned zerofill -tb1 f20 smallint(5) unsigned zerofill -tb1 f21 mediumint(9) -tb1 f22 mediumint(8) unsigned -tb1 f23 mediumint(8) unsigned zerofill -tb1 f24 mediumint(8) unsigned zerofill -tb1 f25 int(11) -tb1 f26 int(10) unsigned -tb1 f27 int(10) unsigned zerofill -tb1 f28 int(10) unsigned zerofill -tb1 f29 bigint(20) -tb1 f30 bigint(20) unsigned -tb1 f31 bigint(20) unsigned zerofill -tb1 f32 bigint(20) unsigned zerofill -tb1 f33 decimal(10,0) -tb1 f34 decimal(10,0) unsigned -tb1 f35 decimal(10,0) unsigned zerofill -tb1 f36 decimal(10,0) unsigned zerofill -tb1 f37 decimal(10,0) -tb1 f38 decimal(64,0) -tb1 f39 decimal(10,0) unsigned -tb1 f40 decimal(64,0) unsigned -tb1 f41 decimal(10,0) unsigned zerofill -tb1 f42 decimal(64,0) unsigned zerofill -tb1 f43 decimal(10,0) unsigned zerofill -tb1 f44 decimal(64,0) unsigned zerofill -tb1 f45 decimal(10,0) -tb1 f46 decimal(63,30) -tb1 f47 decimal(10,0) unsigned -tb1 f48 decimal(63,30) unsigned -tb1 f49 decimal(10,0) unsigned zerofill -tb1 f50 decimal(63,30) unsigned zerofill -tb1 f51 decimal(10,0) unsigned zerofill -tb1 f52 decimal(63,30) unsigned zerofill -tb1 f53 decimal(10,0) -tb1 f54 decimal(10,0) unsigned -tb1 f55 decimal(10,0) unsigned zerofill -tb1 f56 decimal(10,0) unsigned zerofill -tb1 f57 decimal(10,0) -tb1 f58 decimal(64,0) -tb2 f59 decimal(10,0) unsigned -tb2 f60 decimal(64,0) unsigned -tb2 f61 decimal(10,0) unsigned zerofill -tb2 f62 decimal(64,0) unsigned zerofill -tb2 f63 decimal(10,0) unsigned zerofill -tb2 f64 decimal(64,0) unsigned zerofill -tb2 f65 decimal(10,0) -tb2 f66 decimal(63,30) -tb2 f67 decimal(10,0) unsigned -tb2 f68 decimal(63,30) unsigned -tb2 f69 decimal(10,0) unsigned zerofill -tb2 f70 decimal(63,30) unsigned zerofill -tb2 f71 decimal(10,0) unsigned zerofill -tb2 f72 decimal(63,30) unsigned zerofill -tb2 f73 double -tb2 f74 double unsigned -tb2 f75 double unsigned zerofill -tb2 f76 double unsigned zerofill -tb2 f77 double -tb2 f78 double unsigned -tb2 f79 double unsigned zerofill -tb2 f80 double unsigned zerofill -tb2 f81 float -tb2 f82 float unsigned -tb2 f83 float unsigned zerofill -tb2 f84 float unsigned zerofill -tb2 f85 float -tb2 f86 float -tb2 f87 float unsigned -tb2 f88 float unsigned -tb2 f89 float unsigned zerofill -tb2 f90 float unsigned zerofill -tb2 f91 float unsigned zerofill -tb2 f92 float unsigned zerofill -tb2 f93 float -tb2 f94 double -tb2 f95 float unsigned -tb2 f96 double unsigned -tb2 f97 float unsigned zerofill -tb2 f98 double unsigned zerofill -tb2 f99 float unsigned zerofill -tb2 f100 double unsigned zerofill -tb2 f101 date -tb2 f102 time -tb2 f103 datetime -tb2 f104 timestamp -tb2 f105 year(4) -tb2 f106 year(4) -tb2 f107 year(4) -tb2 f108 enum('1enum','2enum') -tb2 f109 set('1set','2set') -tb2 f110 varbinary(64) -tb2 f111 varbinary(27) -tb2 f112 varbinary(64) -tb2 f113 varbinary(192) -tb2 f114 varbinary(192) -tb2 f115 varbinary(27) -tb2 f116 varbinary(64) -tb2 f117 varbinary(192) -tb3 f118 char(1) -tb3 f119 char(1) -tb3 f120 char(1) -tb3 f121 tinytext -tb3 f122 text -tb3 f123 mediumtext -tb3 f124 longtext -tb3 f125 tinyblob -tb3 f126 blob -tb3 f127 mediumblob -tb3 f128 longblob -tb3 f129 binary(1) -tb3 f130 tinyint(4) -tb3 f131 tinyint(3) unsigned -tb3 f132 tinyint(3) unsigned zerofill -tb3 f133 tinyint(3) unsigned zerofill -tb3 f134 smallint(6) -tb3 f135 smallint(5) unsigned -tb3 f136 smallint(5) unsigned zerofill -tb3 f137 smallint(5) unsigned zerofill -tb3 f138 mediumint(9) -tb3 f139 mediumint(8) unsigned -tb3 f140 mediumint(8) unsigned zerofill -tb3 f141 mediumint(8) unsigned zerofill -tb3 f142 int(11) -tb3 f143 int(10) unsigned -tb3 f144 int(10) unsigned zerofill -tb3 f145 int(10) unsigned zerofill -tb3 f146 bigint(20) -tb3 f147 bigint(20) unsigned -tb3 f148 bigint(20) unsigned zerofill -tb3 f149 bigint(20) unsigned zerofill -tb3 f150 decimal(10,0) -tb3 f151 decimal(10,0) unsigned -tb3 f152 decimal(10,0) unsigned zerofill -tb3 f153 decimal(10,0) unsigned zerofill -tb3 f154 decimal(10,0) -tb3 f155 decimal(64,0) -tb3 f156 decimal(10,0) unsigned -tb3 f157 decimal(64,0) unsigned -tb3 f158 decimal(10,0) unsigned zerofill -tb3 f159 decimal(64,0) unsigned zerofill -tb3 f160 decimal(10,0) unsigned zerofill -tb3 f161 decimal(64,0) unsigned zerofill -tb3 f162 decimal(10,0) -tb3 f163 decimal(63,30) -tb3 f164 decimal(10,0) unsigned -tb3 f165 decimal(63,30) unsigned -tb3 f166 decimal(10,0) unsigned zerofill -tb3 f167 decimal(63,30) unsigned zerofill -tb3 f168 decimal(10,0) unsigned zerofill -tb3 f169 decimal(63,30) unsigned zerofill -tb3 f170 decimal(10,0) -tb3 f171 decimal(10,0) unsigned -tb3 f172 decimal(10,0) unsigned zerofill -tb3 f173 decimal(10,0) unsigned zerofill -tb3 f174 decimal(10,0) -tb3 f175 decimal(64,0) -tb4 f176 decimal(10,0) unsigned -tb4 f177 decimal(64,0) unsigned -tb4 f178 decimal(10,0) unsigned zerofill -tb4 f179 decimal(64,0) unsigned zerofill -tb4 f180 decimal(10,0) unsigned zerofill -tb4 f181 decimal(64,0) unsigned zerofill -tb4 f182 decimal(10,0) -tb4 f183 decimal(63,30) -tb4 f184 decimal(10,0) unsigned -tb4 f185 decimal(63,30) unsigned -tb4 f186 decimal(10,0) unsigned zerofill -tb4 f187 decimal(63,30) unsigned zerofill -tb4 f188 decimal(10,0) unsigned zerofill -tb4 f189 decimal(63,30) unsigned zerofill -tb4 f190 double -tb4 f191 double unsigned -tb4 f192 double unsigned zerofill -tb4 f193 double unsigned zerofill -tb4 f194 double -tb4 f195 double unsigned -tb4 f196 double unsigned zerofill -tb4 f197 double unsigned zerofill -tb4 f198 float -tb4 f199 float unsigned -tb4 f200 float unsigned zerofill -tb4 f201 float unsigned zerofill -tb4 f202 float -tb4 f203 float -tb4 f204 float unsigned -tb4 f205 float unsigned -tb4 f206 float unsigned zerofill -tb4 f207 float unsigned zerofill -tb4 f208 float unsigned zerofill -tb4 f209 float unsigned zerofill -tb4 f210 float -tb4 f211 double -tb4 f212 float unsigned -tb4 f213 double unsigned -tb4 f214 float unsigned zerofill -tb4 f215 double unsigned zerofill -tb4 f216 float unsigned zerofill -tb4 f217 double unsigned zerofill -tb4 f218 date -tb4 f219 time -tb4 f220 datetime -tb4 f221 timestamp -tb4 f222 year(4) -tb4 f223 year(4) -tb4 f224 year(4) -tb4 f225 enum('1enum','2enum') -tb4 f226 set('1set','2set') -tb4 f227 varbinary(64) -tb4 f228 varbinary(27) -tb4 f229 varbinary(64) -tb4 f230 varbinary(192) -tb4 f231 varbinary(192) -tb4 f232 varbinary(27) -tb4 f233 varbinary(64) -tb4 f234 varbinary(192) -tb4 f235 char(255) -tb4 f236 char(60) -tb4 f237 char(255) -tb4 f238 varchar(0) -tb4 f239 varbinary(1000) -tb4 f240 varchar(120) -tb4 f241 char(100) -tb4 f242 bit(30) -select character_set_name from character_sets; -character_set_name -big5 -dec8 -cp850 -hp8 -koi8r -latin1 -latin2 -swe7 -ascii -ujis -sjis -hebrew -tis620 -euckr -koi8u -gb2312 -greek -cp1250 -gbk -latin5 -armscii8 -utf8 -ucs2 -cp866 -keybcs2 -macce -macroman -cp852 -latin7 -cp1251 -cp1256 -cp1257 -binary -geostd8 -cp932 -eucjpms -select collation_name from collations where collation_name <> 'utf8_general_cs'; -collation_name -big5_chinese_ci -big5_bin -dec8_swedish_ci -dec8_bin -cp850_general_ci -cp850_bin -hp8_english_ci -hp8_bin -koi8r_general_ci -koi8r_bin -latin1_german1_ci -latin1_swedish_ci -latin1_danish_ci -latin1_german2_ci -latin1_bin -latin1_general_ci -latin1_general_cs -latin1_spanish_ci -latin2_czech_cs -latin2_general_ci -latin2_hungarian_ci -latin2_croatian_ci -latin2_bin -swe7_swedish_ci -swe7_bin -ascii_general_ci -ascii_bin -ujis_japanese_ci -ujis_bin -sjis_japanese_ci -sjis_bin -hebrew_general_ci -hebrew_bin -tis620_thai_ci -tis620_bin -euckr_korean_ci -euckr_bin -koi8u_general_ci -koi8u_bin -gb2312_chinese_ci -gb2312_bin -greek_general_ci -greek_bin -cp1250_general_ci -cp1250_czech_cs -cp1250_croatian_ci -cp1250_bin -gbk_chinese_ci -gbk_bin -latin5_turkish_ci -latin5_bin -armscii8_general_ci -armscii8_bin -utf8_general_ci -utf8_bin -utf8_unicode_ci -utf8_icelandic_ci -utf8_latvian_ci -utf8_romanian_ci -utf8_slovenian_ci -utf8_polish_ci -utf8_estonian_ci -utf8_spanish_ci -utf8_swedish_ci -utf8_turkish_ci -utf8_czech_ci -utf8_danish_ci -utf8_lithuanian_ci -utf8_slovak_ci -utf8_spanish2_ci -utf8_roman_ci -utf8_persian_ci -utf8_esperanto_ci -utf8_hungarian_ci -ucs2_general_ci -ucs2_bin -ucs2_unicode_ci -ucs2_icelandic_ci -ucs2_latvian_ci -ucs2_romanian_ci -ucs2_slovenian_ci -ucs2_polish_ci -ucs2_estonian_ci -ucs2_spanish_ci -ucs2_swedish_ci -ucs2_turkish_ci -ucs2_czech_ci -ucs2_danish_ci -ucs2_lithuanian_ci -ucs2_slovak_ci -ucs2_spanish2_ci -ucs2_roman_ci -ucs2_persian_ci -ucs2_esperanto_ci -ucs2_hungarian_ci -cp866_general_ci -cp866_bin -keybcs2_general_ci -keybcs2_bin -macce_general_ci -macce_bin -macroman_general_ci -macroman_bin -cp852_general_ci -cp852_bin -latin7_estonian_cs -latin7_general_ci -latin7_general_cs -latin7_bin -cp1251_bulgarian_ci -cp1251_ukrainian_ci -cp1251_bin -cp1251_general_ci -cp1251_general_cs -cp1256_general_ci -cp1256_bin -cp1257_lithuanian_ci -cp1257_bin -cp1257_general_ci -binary -geostd8_general_ci -geostd8_bin -cp932_japanese_ci -cp932_bin -eucjpms_japanese_ci -eucjpms_bin -select routine_name, routine_type from routines; -routine_name routine_type -select table_name, index_name from statistics; -table_name index_name -select table_name from views; -table_name -select privilege_type from user_privileges; -privilege_type -USAGE -select grantee, privilege_type from schema_privileges; -grantee privilege_type -select * from table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -select column_name, privilege_type from column_privileges; -column_name privilege_type -select table_name,constraint_type from table_constraints; -table_name constraint_type -select table_schema, table_name, column_name from key_column_usage; -table_schema table_name column_name - -root@localhost db_datadict -DROP USER 'u_6_401017'@'localhost'; - -Testcase 3.2.1.18: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401018'@'localhost'; -GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -GRANT ALL ON db_datadict.* TO 'u_6_401018'@'localhost'; -SHOW GRANTS FOR 'u_6_401018'@'localhost'; -Grants for u_6_401018@localhost -GRANT USAGE ON *.* TO 'u_6_401018'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'u_6_401018'@'localhost' -FLUSH PRIVILEGES; -DROP DATABASE IF EXISTS db_datadict; -CREATE DATABASE db_datadict; -connect(localhost,u_6_401018,,test,MYSQL_PORT,MYSQL_SOCK); -USE db_datadict; -create view db_datadict.v_401018 as -select * from information_schema.schemata; -SELECT * FROM v_401018 ORDER BY 2 DESC; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL test latin1 latin1_swedish_ci NULL -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict latin1 latin1_swedish_ci NULL - -root@localhost NULL -DROP USER 'u_6_401018'@'localhost'; -DROP DATABASE db_datadict; - -Testcase 3.2.1.19: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401019'@'localhost'; -grant alter on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant alter routine on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create routine on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant create temporary tables -on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant delete on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant drop on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant execute on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant index on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant insert on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant lock tables on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -grant update on information_schema.* to 'u_6_401019'@'localhost'; -ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' -SELECT * FROM information_schema.table_privileges -WHERE table_schema = "information_schema"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -SELECT * FROM information_schema.column_privileges -WHERE table_schema = "information_schema"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -DROP USER 'u_6_401019'@'localhost'; - -Testcase 3.2.1.20: --------------------------------------------------------------------------------- -CREATE USER 'u_6_401020'@'localhost'; -connect(localhost,u_6_401020,,test,MYSQL_PORT,MYSQL_SOCK); -USE information_schema; -SELECT * FROM schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL -CREATE TABLE tb_not_allowed ( col TEXT ); -ERROR 42S02: Unknown table 'tb_not_allowed' in information_schema -create view res_v1 as select * from information_schema.schemata; -ERROR 42S02: Unknown table 'res_v1' in information_schema -alter table schemata modify catalog_name varchar(255); -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' -update schemata set catalog_name = 'abc' - where schema_name = 'information_schema'; -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' -CREATE PROCEDURE sp_3_2_1_20() -BEGIN -INSERT INTO information_schema.schema_privileges (table_schema,privilege_type) -VALUES('db2','insert'); -END// -ERROR 42000: Unknown database 'information_schema' -DELETE FROM schemata WHERE schema_name = 'information_schema'; -ERROR 42000: Access denied for user 'u_6_401020'@'localhost' to database 'information_schema' - -root@localhost NULL -DROP USER 'u_6_401020'@'localhost'; - -Testcase 3.2.2.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC character_sets; -Field Type Null Key Default Extra -CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATE_NAME varchar(64) NO -DESCRIPTION varchar(60) NO -MAXLEN bigint(3) NO 0 -SHOW CREATE TABLE character_sets; -Table Create Table -CHARACTER_SETS CREATE TEMPORARY TABLE `CHARACTER_SETS` ( - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `DEFAULT_COLLATE_NAME` varchar(64) NOT NULL default '', - `DESCRIPTION` varchar(60) NOT NULL default '', - `MAXLEN` bigint(3) NOT NULL default '0' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'character_sets' -ORDER BY ordinal_position; -COUNT(*) -4 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'character_sets' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select - -Testcase 3.2.2.2: --------------------------------------------------------------------------------- - -root@localhost information_schema -SELECT * FROM information_schema.character_sets; -CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN -big5 big5_chinese_ci Big5 Traditional Chinese 2 -dec8 dec8_swedish_ci DEC West European 1 -cp850 cp850_general_ci DOS West European 1 -hp8 hp8_english_ci HP West European 1 -koi8r koi8r_general_ci KOI8-R Relcom Russian 1 -latin1 latin1_swedish_ci cp1252 West European 1 -latin2 latin2_general_ci ISO 8859-2 Central European 1 -swe7 swe7_swedish_ci 7bit Swedish 1 -ascii ascii_general_ci US ASCII 1 -ujis ujis_japanese_ci EUC-JP Japanese 3 -sjis sjis_japanese_ci Shift-JIS Japanese 2 -hebrew hebrew_general_ci ISO 8859-8 Hebrew 1 -tis620 tis620_thai_ci TIS620 Thai 1 -euckr euckr_korean_ci EUC-KR Korean 2 -koi8u koi8u_general_ci KOI8-U Ukrainian 1 -gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2 -greek greek_general_ci ISO 8859-7 Greek 1 -cp1250 cp1250_general_ci Windows Central European 1 -gbk gbk_chinese_ci GBK Simplified Chinese 2 -latin5 latin5_turkish_ci ISO 8859-9 Turkish 1 -armscii8 armscii8_general_ci ARMSCII-8 Armenian 1 -utf8 utf8_general_ci UTF-8 Unicode 3 -ucs2 ucs2_general_ci UCS-2 Unicode 2 -cp866 cp866_general_ci DOS Russian 1 -keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1 -macce macce_general_ci Mac Central European 1 -macroman macroman_general_ci Mac West European 1 -cp852 cp852_general_ci DOS Central European 1 -latin7 latin7_general_ci ISO 8859-13 Baltic 1 -cp1251 cp1251_general_ci Windows Cyrillic 1 -cp1256 cp1256_general_ci Windows Arabic 1 -cp1257 cp1257_general_ci Windows Baltic 1 -binary binary Binary pseudo charset 1 -geostd8 geostd8_general_ci GEOSTD8 Georgian 1 -cp932 cp932_japanese_ci SJIS for Windows Japanese 2 -eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3 - -Testcase 3.2.2.3: --------------------------------------------------------------------------------- - -Testcase 3.2.3.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC collations; -Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO -ID bigint(11) NO 0 -IS_DEFAULT varchar(3) NO -IS_COMPILED varchar(3) NO -SORTLEN bigint(3) NO 0 -SHOW CREATE TABLE collations; -Table Create Table -COLLATIONS CREATE TEMPORARY TABLE `COLLATIONS` ( - `COLLATION_NAME` varchar(64) NOT NULL default '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `ID` bigint(11) NOT NULL default '0', - `IS_DEFAULT` varchar(3) NOT NULL default '', - `IS_COMPILED` varchar(3) NOT NULL default '', - `SORTLEN` bigint(3) NOT NULL default '0' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collations' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collations' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select - -Testcase 3.2.3.2: --------------------------------------------------------------------------------- -SELECT * FROM collations where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN -big5_chinese_ci big5 1 Yes Yes 1 -big5_bin big5 84 Yes 1 -dec8_swedish_ci dec8 3 Yes 0 -dec8_bin dec8 69 0 -cp850_general_ci cp850 4 Yes 0 -cp850_bin cp850 80 0 -hp8_english_ci hp8 6 Yes 0 -hp8_bin hp8 72 0 -koi8r_general_ci koi8r 7 Yes 0 -koi8r_bin koi8r 74 0 -latin1_german1_ci latin1 5 Yes 1 -latin1_swedish_ci latin1 8 Yes Yes 1 -latin1_danish_ci latin1 15 Yes 1 -latin1_german2_ci latin1 31 Yes 2 -latin1_bin latin1 47 Yes 1 -latin1_general_ci latin1 48 Yes 1 -latin1_general_cs latin1 49 Yes 1 -latin1_spanish_ci latin1 94 Yes 1 -latin2_czech_cs latin2 2 Yes 4 -latin2_general_ci latin2 9 Yes Yes 1 -latin2_hungarian_ci latin2 21 Yes 1 -latin2_croatian_ci latin2 27 Yes 1 -latin2_bin latin2 77 Yes 1 -swe7_swedish_ci swe7 10 Yes 0 -swe7_bin swe7 82 0 -ascii_general_ci ascii 11 Yes 0 -ascii_bin ascii 65 0 -ujis_japanese_ci ujis 12 Yes Yes 1 -ujis_bin ujis 91 Yes 1 -sjis_japanese_ci sjis 13 Yes Yes 1 -sjis_bin sjis 88 Yes 1 -hebrew_general_ci hebrew 16 Yes 0 -hebrew_bin hebrew 71 0 -tis620_thai_ci tis620 18 Yes Yes 4 -tis620_bin tis620 89 Yes 1 -euckr_korean_ci euckr 19 Yes Yes 1 -euckr_bin euckr 85 Yes 1 -koi8u_general_ci koi8u 22 Yes 0 -koi8u_bin koi8u 75 0 -gb2312_chinese_ci gb2312 24 Yes Yes 1 -gb2312_bin gb2312 86 Yes 1 -greek_general_ci greek 25 Yes 0 -greek_bin greek 70 0 -cp1250_general_ci cp1250 26 Yes Yes 1 -cp1250_czech_cs cp1250 34 Yes 2 -cp1250_croatian_ci cp1250 44 Yes 1 -cp1250_bin cp1250 66 Yes 1 -gbk_chinese_ci gbk 28 Yes Yes 1 -gbk_bin gbk 87 Yes 1 -latin5_turkish_ci latin5 30 Yes 0 -latin5_bin latin5 78 0 -armscii8_general_ci armscii8 32 Yes 0 -armscii8_bin armscii8 64 0 -utf8_general_ci utf8 33 Yes Yes 1 -utf8_bin utf8 83 Yes 1 -utf8_unicode_ci utf8 192 Yes 8 -utf8_icelandic_ci utf8 193 Yes 8 -utf8_latvian_ci utf8 194 Yes 8 -utf8_romanian_ci utf8 195 Yes 8 -utf8_slovenian_ci utf8 196 Yes 8 -utf8_polish_ci utf8 197 Yes 8 -utf8_estonian_ci utf8 198 Yes 8 -utf8_spanish_ci utf8 199 Yes 8 -utf8_swedish_ci utf8 200 Yes 8 -utf8_turkish_ci utf8 201 Yes 8 -utf8_czech_ci utf8 202 Yes 8 -utf8_danish_ci utf8 203 Yes 8 -utf8_lithuanian_ci utf8 204 Yes 8 -utf8_slovak_ci utf8 205 Yes 8 -utf8_spanish2_ci utf8 206 Yes 8 -utf8_roman_ci utf8 207 Yes 8 -utf8_persian_ci utf8 208 Yes 8 -utf8_esperanto_ci utf8 209 Yes 8 -utf8_hungarian_ci utf8 210 Yes 8 -ucs2_general_ci ucs2 35 Yes Yes 1 -ucs2_bin ucs2 90 Yes 1 -ucs2_unicode_ci ucs2 128 Yes 8 -ucs2_icelandic_ci ucs2 129 Yes 8 -ucs2_latvian_ci ucs2 130 Yes 8 -ucs2_romanian_ci ucs2 131 Yes 8 -ucs2_slovenian_ci ucs2 132 Yes 8 -ucs2_polish_ci ucs2 133 Yes 8 -ucs2_estonian_ci ucs2 134 Yes 8 -ucs2_spanish_ci ucs2 135 Yes 8 -ucs2_swedish_ci ucs2 136 Yes 8 -ucs2_turkish_ci ucs2 137 Yes 8 -ucs2_czech_ci ucs2 138 Yes 8 -ucs2_danish_ci ucs2 139 Yes 8 -ucs2_lithuanian_ci ucs2 140 Yes 8 -ucs2_slovak_ci ucs2 141 Yes 8 -ucs2_spanish2_ci ucs2 142 Yes 8 -ucs2_roman_ci ucs2 143 Yes 8 -ucs2_persian_ci ucs2 144 Yes 8 -ucs2_esperanto_ci ucs2 145 Yes 8 -ucs2_hungarian_ci ucs2 146 Yes 8 -cp866_general_ci cp866 36 Yes 0 -cp866_bin cp866 68 0 -keybcs2_general_ci keybcs2 37 Yes 0 -keybcs2_bin keybcs2 73 0 -macce_general_ci macce 38 Yes 0 -macce_bin macce 43 0 -macroman_general_ci macroman 39 Yes 0 -macroman_bin macroman 53 0 -cp852_general_ci cp852 40 Yes 0 -cp852_bin cp852 81 0 -latin7_estonian_cs latin7 20 0 -latin7_general_ci latin7 41 Yes 0 -latin7_general_cs latin7 42 0 -latin7_bin latin7 79 0 -cp1251_bulgarian_ci cp1251 14 0 -cp1251_ukrainian_ci cp1251 23 0 -cp1251_bin cp1251 50 0 -cp1251_general_ci cp1251 51 Yes 0 -cp1251_general_cs cp1251 52 0 -cp1256_general_ci cp1256 57 Yes 0 -cp1256_bin cp1256 67 0 -cp1257_lithuanian_ci cp1257 29 0 -cp1257_bin cp1257 58 0 -cp1257_general_ci cp1257 59 Yes 0 -binary binary 63 Yes Yes 1 -geostd8_general_ci geostd8 92 Yes 0 -geostd8_bin geostd8 93 0 -cp932_japanese_ci cp932 95 Yes Yes 1 -cp932_bin cp932 96 Yes 1 -eucjpms_japanese_ci eucjpms 97 Yes Yes 1 -eucjpms_bin eucjpms 98 Yes 1 - -Testcase 3.2.3.3: --------------------------------------------------------------------------------- - -Testcase 3.2.4.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC collation_character_set_applicability; -Field Type Null Key Default Extra -COLLATION_NAME varchar(64) NO -CHARACTER_SET_NAME varchar(64) NO -SHOW CREATE TABLE collation_character_set_applicability; -Table Create Table -COLLATION_CHARACTER_SET_APPLICABILITY CREATE TEMPORARY TABLE `COLLATION_CHARACTER_SET_APPLICABILITY` ( - `COLLATION_NAME` varchar(64) NOT NULL default '', - `CHARACTER_SET_NAME` varchar(64) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collation_character_set_applicability' -ORDER BY ordinal_position; -COUNT(*) -2 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'collation_character_set_applicability' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.4.2: --------------------------------------------------------------------------------- -SELECT * FROM collation_character_set_applicability -where collation_name <> 'utf8_general_cs'; -COLLATION_NAME CHARACTER_SET_NAME -big5_chinese_ci big5 -big5_bin big5 -dec8_swedish_ci dec8 -dec8_bin dec8 -cp850_general_ci cp850 -cp850_bin cp850 -hp8_english_ci hp8 -hp8_bin hp8 -koi8r_general_ci koi8r -koi8r_bin koi8r -latin1_german1_ci latin1 -latin1_swedish_ci latin1 -latin1_danish_ci latin1 -latin1_german2_ci latin1 -latin1_bin latin1 -latin1_general_ci latin1 -latin1_general_cs latin1 -latin1_spanish_ci latin1 -latin2_czech_cs latin2 -latin2_general_ci latin2 -latin2_hungarian_ci latin2 -latin2_croatian_ci latin2 -latin2_bin latin2 -swe7_swedish_ci swe7 -swe7_bin swe7 -ascii_general_ci ascii -ascii_bin ascii -ujis_japanese_ci ujis -ujis_bin ujis -sjis_japanese_ci sjis -sjis_bin sjis -hebrew_general_ci hebrew -hebrew_bin hebrew -tis620_thai_ci tis620 -tis620_bin tis620 -euckr_korean_ci euckr -euckr_bin euckr -koi8u_general_ci koi8u -koi8u_bin koi8u -gb2312_chinese_ci gb2312 -gb2312_bin gb2312 -greek_general_ci greek -greek_bin greek -cp1250_general_ci cp1250 -cp1250_czech_cs cp1250 -cp1250_croatian_ci cp1250 -cp1250_bin cp1250 -gbk_chinese_ci gbk -gbk_bin gbk -latin5_turkish_ci latin5 -latin5_bin latin5 -armscii8_general_ci armscii8 -armscii8_bin armscii8 -utf8_general_ci utf8 -utf8_bin utf8 -utf8_unicode_ci utf8 -utf8_icelandic_ci utf8 -utf8_latvian_ci utf8 -utf8_romanian_ci utf8 -utf8_slovenian_ci utf8 -utf8_polish_ci utf8 -utf8_estonian_ci utf8 -utf8_spanish_ci utf8 -utf8_swedish_ci utf8 -utf8_turkish_ci utf8 -utf8_czech_ci utf8 -utf8_danish_ci utf8 -utf8_lithuanian_ci utf8 -utf8_slovak_ci utf8 -utf8_spanish2_ci utf8 -utf8_roman_ci utf8 -utf8_persian_ci utf8 -utf8_esperanto_ci utf8 -utf8_hungarian_ci utf8 -ucs2_general_ci ucs2 -ucs2_bin ucs2 -ucs2_unicode_ci ucs2 -ucs2_icelandic_ci ucs2 -ucs2_latvian_ci ucs2 -ucs2_romanian_ci ucs2 -ucs2_slovenian_ci ucs2 -ucs2_polish_ci ucs2 -ucs2_estonian_ci ucs2 -ucs2_spanish_ci ucs2 -ucs2_swedish_ci ucs2 -ucs2_turkish_ci ucs2 -ucs2_czech_ci ucs2 -ucs2_danish_ci ucs2 -ucs2_lithuanian_ci ucs2 -ucs2_slovak_ci ucs2 -ucs2_spanish2_ci ucs2 -ucs2_roman_ci ucs2 -ucs2_persian_ci ucs2 -ucs2_esperanto_ci ucs2 -ucs2_hungarian_ci ucs2 -cp866_general_ci cp866 -cp866_bin cp866 -keybcs2_general_ci keybcs2 -keybcs2_bin keybcs2 -macce_general_ci macce -macce_bin macce -macroman_general_ci macroman -macroman_bin macroman -cp852_general_ci cp852 -cp852_bin cp852 -latin7_estonian_cs latin7 -latin7_general_ci latin7 -latin7_general_cs latin7 -latin7_bin latin7 -cp1251_bulgarian_ci cp1251 -cp1251_ukrainian_ci cp1251 -cp1251_bin cp1251 -cp1251_general_ci cp1251 -cp1251_general_cs cp1251 -cp1256_general_ci cp1256 -cp1256_bin cp1256 -cp1257_lithuanian_ci cp1257 -cp1257_bin cp1257 -cp1257_general_ci cp1257 -binary binary -geostd8_general_ci geostd8 -geostd8_bin geostd8 -cp932_japanese_ci cp932 -cp932_bin cp932 -eucjpms_japanese_ci eucjpms -eucjpms_bin eucjpms - -Testcase 3.2.4.3: --------------------------------------------------------------------------------- - -Testcase 3.2.5.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC column_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE column_privileges; -Table Create Table -COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'column_privileges' -ORDER BY ordinal_position; -COUNT(*) -7 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'column_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.5.2 + 3.2.5.3 + 3.2.5.4: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -CREATE USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; -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'; -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT NO -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE NO -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES - -FIXME: Check it is correct that the following GRANT changes ALL privs that user_1 has -------------------------------------------------------------------------------------- -GRANT UPDATE(f3) ON db_datadict.res_t40502 TO 'user_1'@'localhost' WITH GRANT OPTION; -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -FLUSH PRIVILEGES; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict res_t40502 f1 INSERT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f1 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f2 UPDATE YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -'user_1'@'localhost' NULL db_datadict res_t40502 f3 UPDATE YES -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); - -FIXME: check it is correct that granted TABLES doesn_t occur in COLUMN_PRIVILEGES ---------------------------------------------------------------------------------- -SELECT * FROM information_schema.table_privileges WHERE grantee LIKE "'user%"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 SELECT YES -'user_3'@'localhost' NULL db_datadict res_t40502 INSERT YES -SELECT * FROM information_schema.schema_privileges WHERE grantee LIKE "'user%"; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict SELECT NO -'user_3'@'localhost' NULL db_datadict INSERT NO -'user_3'@'localhost' NULL db_datadict UPDATE NO -'user_3'@'localhost' NULL db_datadict DELETE NO -'user_3'@'localhost' NULL db_datadict CREATE NO -'user_3'@'localhost' NULL db_datadict DROP NO -'user_3'@'localhost' NULL db_datadict REFERENCES NO -'user_3'@'localhost' NULL db_datadict INDEX NO -'user_3'@'localhost' NULL db_datadict ALTER NO -'user_3'@'localhost' NULL db_datadict CREATE TEMPORARY TABLES NO -'user_3'@'localhost' NULL db_datadict LOCK TABLES NO -'user_3'@'localhost' NULL db_datadict EXECUTE NO -'user_3'@'localhost' NULL db_datadict CREATE VIEW NO -'user_3'@'localhost' NULL db_datadict SHOW VIEW NO -'user_3'@'localhost' NULL db_datadict CREATE ROUTINE NO -'user_3'@'localhost' NULL db_datadict ALTER ROUTINE NO -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES -GRANT SELECT(f1, f3) ON db_datadict.res_t40502 TO 'user_2'@'localhost'; - -FIXME: check whether it is intended that *my* grants to others are *NOT* shown here ------------------------------------------------------------------------------------ -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict res_t40502 f3 SELECT YES - -user_2@localhost db_datadict -SELECT * FROM information_schema.column_privileges -WHERE grantee LIKE "'user%" - ORDER BY grantee, table_name, column_name, privilege_type; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict res_t40502 f1 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f2 SELECT NO -'user_2'@'localhost' NULL db_datadict res_t40502 f3 SELECT NO - -root@localhost db_datadict -DROP TABLE IF EXISTS db_datadict.res_t40502; -DROP DATABASE IF EXISTS db_datadict; -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP USER 'user_3'@'localhost'; - -Testcase 3.2.6.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC columns; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(21) NO 0 -COLUMN_DEFAULT longtext YES NULL -IS_NULLABLE varchar(3) NO -DATA_TYPE varchar(64) NO -CHARACTER_MAXIMUM_LENGTH bigint(21) YES NULL -CHARACTER_OCTET_LENGTH bigint(21) YES NULL -NUMERIC_PRECISION bigint(21) YES NULL -NUMERIC_SCALE bigint(21) YES NULL -CHARACTER_SET_NAME varchar(64) YES NULL -COLLATION_NAME varchar(64) YES NULL -COLUMN_TYPE longtext NO NULL -COLUMN_KEY varchar(3) NO -EXTRA varchar(20) NO -PRIVILEGES varchar(80) NO -COLUMN_COMMENT varchar(255) NO -SHOW CREATE TABLE columns; -Table Create Table -COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `ORDINAL_POSITION` bigint(21) NOT NULL default '0', - `COLUMN_DEFAULT` longtext, - `IS_NULLABLE` varchar(3) NOT NULL default '', - `DATA_TYPE` varchar(64) NOT NULL default '', - `CHARACTER_MAXIMUM_LENGTH` bigint(21) default NULL, - `CHARACTER_OCTET_LENGTH` bigint(21) default NULL, - `NUMERIC_PRECISION` bigint(21) default NULL, - `NUMERIC_SCALE` bigint(21) default NULL, - `CHARACTER_SET_NAME` varchar(64) default NULL, - `COLLATION_NAME` varchar(64) default NULL, - `COLUMN_TYPE` longtext NOT NULL, - `COLUMN_KEY` varchar(3) NOT NULL default '', - `EXTRA` varchar(20) NOT NULL default '', - `PRIVILEGES` varchar(80) NOT NULL default '', - `COLUMN_COMMENT` varchar(255) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'columns' -ORDER BY ordinal_position; -COUNT(*) -19 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'columns' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select - -Testcase 3.2.6.2 + 3.2.6.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL db_datadict t_6_406001 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL db_datadict t_6_406001 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select,insert,update,references -NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL db_datadict t_6_406002 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL db_datadict t_6_406002 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL mysql columns_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql columns_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql columns_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Column_name 5 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql columns_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql columns_priv Column_priv 7 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql db Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql db Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql db User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql db Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Grant_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db References_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Index_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_tmp_table_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Lock_tables_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Show_view_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Create_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Alter_routine_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql db Execute_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql func name 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql func ret 2 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references -NULL mysql func dl 3 NO char 128 384 NULL NULL utf8 utf8_bin char(128) select,insert,update,references -NULL mysql func type 4 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('function','aggregate') select,insert,update,references -NULL mysql help_category help_category_id 1 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned PRI select,insert,update,references -NULL mysql help_category name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_category parent_category_id 3 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_category url 4 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql help_keyword help_keyword_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_keyword name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_relation help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_relation help_keyword_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic help_topic_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql help_topic name 2 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) UNI select,insert,update,references -NULL mysql help_topic help_category_id 3 NULL NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL mysql help_topic description 4 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic example 5 NULL NO text 65535 65535 NULL NULL utf8 utf8_general_ci text select,insert,update,references -NULL mysql help_topic url 6 NULL NO char 128 384 NULL NULL utf8 utf8_general_ci char(128) select,insert,update,references -NULL mysql host Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql host Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Insert_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Delete_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Drop_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Grant_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host References_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Index_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_tmp_table_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Lock_tables_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_view_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Create_routine_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Alter_routine_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql host Execute_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql proc db 1 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql proc name 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql proc type 3 NULL NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql proc specific_name 4 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc language 5 SQL NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('SQL') select,insert,update,references -NULL mysql proc sql_data_access 6 CONTAINS_SQL NO enum 17 51 NULL NULL utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') select,insert,update,references -NULL mysql proc is_deterministic 7 NO NO enum 3 9 NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -NULL mysql proc security_type 8 DEFINER NO enum 7 21 NULL NULL utf8 utf8_general_ci enum('INVOKER','DEFINER') select,insert,update,references -NULL mysql proc param_list 9 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql proc returns 10 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references -NULL mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL mysql proc definer 12 NO char 77 231 NULL NULL utf8 utf8_bin char(77) select,insert,update,references -NULL mysql proc created 13 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc modified 14 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql proc sql_mode 15 NO set 431 1293 NULL NULL utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') select,insert,update,references -NULL mysql proc comment 16 NO char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references -NULL mysql procs_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql procs_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references -NULL mysql procs_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql procs_priv Proc_priv 7 NO set 27 81 NULL NULL utf8 utf8_general_ci set('Execute','Alter Routine','Grant') select,insert,update,references -NULL mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql tables_priv Db 2 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql tables_priv Table_name 4 NO char 64 192 NULL NULL utf8 utf8_bin char(64) PRI select,insert,update,references -NULL mysql tables_priv Grantor 5 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references -NULL mysql tables_priv Timestamp 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL mysql tables_priv Table_priv 7 NO set 90 270 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') select,insert,update,references -NULL mysql tables_priv Column_priv 8 NO set 31 93 NULL NULL utf8 utf8_general_ci set('Select','Insert','Update','References') select,insert,update,references -NULL mysql time_zone Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI auto_increment select,insert,update,references -NULL mysql time_zone Use_leap_seconds 2 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('Y','N') select,insert,update,references -NULL mysql time_zone_leap_second Transition_time 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_leap_second Correction 2 NULL NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_name Name 1 NULL NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) PRI select,insert,update,references -NULL mysql time_zone_name Time_zone_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition Transition_time 2 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) PRI select,insert,update,references -NULL mysql time_zone_transition Transition_type_id 3 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references -NULL mysql time_zone_transition_type Offset 3 0 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL mysql time_zone_transition_type Is_DST 4 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL mysql time_zone_transition_type Abbreviation 5 NO char 8 24 NULL NULL utf8 utf8_general_ci char(8) select,insert,update,references -NULL mysql user Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references -NULL mysql user User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references -NULL mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references -NULL mysql user Select_priv 4 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Insert_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Update_priv 6 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Delete_priv 7 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Drop_priv 9 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Shutdown_priv 11 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user File_priv 13 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Grant_priv 14 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Index_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_db_priv 18 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Super_priv 19 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_tmp_table_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Execute_priv 22 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_slave_priv 23 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Repl_client_priv 24 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_view_priv 25 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Show_view_priv 26 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user Create_user_priv 29 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references -NULL mysql user ssl_type 30 NO enum 9 27 NULL NULL utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') select,insert,update,references -NULL mysql user ssl_cipher 31 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_issuer 32 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user x509_subject 33 NULL NO blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL mysql user max_questions 34 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_updates 35 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_connections 36 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL mysql user max_user_connections 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references -NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references -NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references -NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references -NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references -NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references -NULL test1 tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test1 tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test1 tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test1 tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test1 tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test1 tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test1 tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test1 tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test1 tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test1 tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test1 tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test1 tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test1 tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test1 tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test1 tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test1 tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test1 tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test1 tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test1 tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test1 tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test1 tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test1 tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test1 tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test1 tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test1 tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test1 tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test1 tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test1 tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406001 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) select -NULL db_datadict t_6_406001 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references -NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references -NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references -NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references -NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references -NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.columns -ORDER BY table_schema, table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL db_datadict t_6_406002 f1 1 NULL YES char 10 10 NULL NULL latin1 latin1_swedish_ci char(10) insert -NULL db_datadict t_6_406002 f2 2 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text insert -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) select -NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) select -NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema COLUMNS EXTRA 17 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select -NULL information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references -NULL test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references -NULL test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f1 1 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f2 2 NULL YES char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb1 f4 4 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references -NULL test tb1 f5 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb1 f6 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb1 f7 7 NULL YES longtext 4294967295 4294967295 NULL NULL latin1 latin1_swedish_ci longtext select,insert,update,references -NULL test tb1 f8 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb1 f9 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb1 f10 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb1 f11 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb1 f12 12 NULL YES binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb1 f13 13 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb1 f14 14 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb1 f15 15 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f16 16 NULL YES tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb1 f17 17 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb1 f18 18 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb1 f19 19 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f20 20 NULL YES smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb1 f21 21 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb1 f22 22 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb1 f23 23 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f24 24 NULL YES mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb1 f25 25 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb1 f26 26 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f36 36 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f37 37 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f38 38 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb1 f39 39 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f40 40 10 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb1 f41 41 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f42 42 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f43 43 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f44 44 0000000000000000000000000000000000000000000000000000000000000010 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb1 f45 45 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f46 46 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb1 f47 47 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f48 48 9.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb1 f49 49 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f50 50 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f51 51 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f52 52 000000000000000000000000000000009.900000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb1 f53 53 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f54 54 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb1 f55 55 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f56 56 0000000099 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb1 f57 57 99 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb1 f58 58 99 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb2 f59 1 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f60 2 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb2 f61 3 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f62 4 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f63 5 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f64 6 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb2 f65 7 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb2 f66 8 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb2 f67 9 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb2 f68 10 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb2 f69 11 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f70 12 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f71 13 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb2 f72 14 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb2 f73 15 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f74 16 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f75 17 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f76 18 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f77 19 7.7 YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f78 20 7.7 YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f79 21 00000000000000000007.7 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f80 22 00000000000000000008.8 YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f81 23 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f82 24 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f83 25 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f84 26 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f85 27 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f86 28 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f87 29 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f88 30 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f89 31 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f90 32 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f91 33 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f92 34 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f93 35 8.8 NO float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb2 f94 36 8.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb2 f95 37 8.8 NO float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb2 f96 38 8.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb2 f97 39 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f98 40 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f99 41 0000000008.8 NO float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb2 f100 42 00000000000000000008.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb2 f101 43 2000-01-01 NO date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb2 f102 44 00:00:20 NO time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb2 f103 45 0002-02-02 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb2 f104 46 2000-12-31 23:59:59 NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb2 f105 47 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f106 48 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f107 49 2000 NO year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb2 f108 50 1enum NO enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb2 f109 51 1set NO set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb2 f110 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f111 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f112 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f113 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f114 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb2 f115 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb2 f116 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb2 f117 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb3 f118 1 a NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f119 2 NO char 1 1 NULL NULL latin1 latin1_bin char(1) select,insert,update,references -NULL test tb3 f120 3 NO char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references -NULL test tb3 f121 4 NULL YES tinytext 255 255 NULL NULL latin1 latin1_swedish_ci tinytext select,insert,update,references -NULL test tb3 f122 5 NULL YES text 65535 65535 NULL NULL latin1 latin1_swedish_ci text select,insert,update,references -NULL test tb3 f123 6 NULL YES mediumtext 16777215 16777215 NULL NULL latin1 latin1_swedish_ci mediumtext select,insert,update,references -NULL test tb3 f124 7 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references -NULL test tb3 f125 8 NULL YES tinyblob 255 255 NULL NULL NULL NULL tinyblob select,insert,update,references -NULL test tb3 f126 9 NULL YES blob 65535 65535 NULL NULL NULL NULL blob select,insert,update,references -NULL test tb3 f127 10 NULL YES mediumblob 16777215 16777215 NULL NULL NULL NULL mediumblob select,insert,update,references -NULL test tb3 f128 11 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references -NULL test tb3 f129 12 NO binary 1 1 NULL NULL NULL NULL binary(1) select,insert,update,references -NULL test tb3 f130 13 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(4) select,insert,update,references -NULL test tb3 f131 14 99 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned select,insert,update,references -NULL test tb3 f132 15 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f133 16 099 NO tinyint NULL NULL 3 0 NULL NULL tinyint(3) unsigned zerofill select,insert,update,references -NULL test tb3 f134 17 999 NO smallint NULL NULL 5 0 NULL NULL smallint(6) select,insert,update,references -NULL test tb3 f135 18 999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned select,insert,update,references -NULL test tb3 f136 19 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f137 20 00999 NO smallint NULL NULL 5 0 NULL NULL smallint(5) unsigned zerofill select,insert,update,references -NULL test tb3 f138 21 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(9) select,insert,update,references -NULL test tb3 f139 22 9999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned select,insert,update,references -NULL test tb3 f140 23 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f141 24 00009999 NO mediumint NULL NULL 7 0 NULL NULL mediumint(8) unsigned zerofill select,insert,update,references -NULL test tb3 f142 25 99999 NO int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references -NULL test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned select,insert,update,references -NULL test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references -NULL test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references -NULL test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references -NULL test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references -NULL test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f153 36 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f154 37 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f155 38 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb3 f156 39 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f157 40 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb3 f158 41 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f159 42 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f160 43 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f161 44 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb3 f162 45 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f163 46 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb3 f164 47 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f165 48 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb3 f166 49 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f167 50 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f168 51 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f169 52 NULL YES decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb3 f170 53 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f171 54 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb3 f172 55 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f173 56 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb3 f174 57 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb3 f175 58 NULL YES decimal NULL NULL 64 0 NULL NULL decimal(64,0) select,insert,update,references -NULL test tb4 f176 1 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f177 2 9 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned select,insert,update,references -NULL test tb4 f178 3 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f179 4 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f180 5 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f181 6 0000000000000000000000000000000000000000000000000000000000000009 NO decimal NULL NULL 64 0 NULL NULL decimal(64,0) unsigned zerofill select,insert,update,references -NULL test tb4 f182 7 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references -NULL test tb4 f183 8 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) select,insert,update,references -NULL test tb4 f184 9 9 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references -NULL test tb4 f185 10 9.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned select,insert,update,references -NULL test tb4 f186 11 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f187 12 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f188 13 0000000009 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references -NULL test tb4 f189 14 000000000000000000000000000000009.000000000000000000000000000000 NO decimal NULL NULL 63 30 NULL NULL decimal(63,30) unsigned zerofill select,insert,update,references -NULL test tb4 f190 15 88.8 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f191 16 88.8 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f192 17 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f193 18 00000000000000000088.8 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f194 19 55.5 NO double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f195 20 55.5 NO double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f196 21 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f197 22 00000000000000000055.5 NO double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f198 23 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f199 24 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f200 25 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f201 26 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f202 27 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f203 28 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f204 29 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f205 30 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f206 31 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f207 32 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f208 33 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f209 34 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f210 35 NULL YES float NULL NULL 12 NULL NULL NULL float select,insert,update,references -NULL test tb4 f211 36 NULL YES double NULL NULL 22 NULL NULL NULL double select,insert,update,references -NULL test tb4 f212 37 NULL YES float unsigned NULL NULL 12 NULL NULL NULL float unsigned select,insert,update,references -NULL test tb4 f213 38 NULL YES double unsigned NULL NULL 22 NULL NULL NULL double unsigned select,insert,update,references -NULL test tb4 f214 39 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f215 40 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f216 41 NULL YES float unsigned zerofill NULL NULL 12 NULL NULL NULL float unsigned zerofill select,insert,update,references -NULL test tb4 f217 42 NULL YES double unsigned zerofill NULL NULL 22 NULL NULL NULL double unsigned zerofill select,insert,update,references -NULL test tb4 f218 43 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references -NULL test tb4 f219 44 NULL YES time NULL NULL NULL NULL NULL NULL time select,insert,update,references -NULL test tb4 f220 45 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select,insert,update,references -NULL test tb4 f221 46 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp select,insert,update,references -NULL test tb4 f222 47 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f223 48 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f224 49 NULL YES year NULL NULL NULL NULL NULL NULL year(4) select,insert,update,references -NULL test tb4 f225 50 NULL YES enum 5 5 NULL NULL latin1 latin1_swedish_ci enum('1enum','2enum') select,insert,update,references -NULL test tb4 f226 51 NULL YES set 9 9 NULL NULL latin1 latin1_swedish_ci set('1set','2set') select,insert,update,references -NULL test tb4 f227 52 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f228 53 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f229 54 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f230 55 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f231 56 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f232 57 NULL YES varbinary 27 27 NULL NULL NULL NULL varbinary(27) select,insert,update,references -NULL test tb4 f233 58 NULL YES varbinary 64 64 NULL NULL NULL NULL varbinary(64) select,insert,update,references -NULL test tb4 f234 59 NULL YES varbinary 192 192 NULL NULL NULL NULL varbinary(192) select,insert,update,references -NULL test tb4 f235 60 NULL YES char 255 510 NULL NULL ucs2 ucs2_general_ci char(255) select,insert,update,references -NULL test tb4 f236 61 NULL YES char 60 60 NULL NULL latin1 latin1_swedish_ci char(60) select,insert,update,references -NULL test tb4 f237 62 NULL YES char 255 255 NULL NULL latin1 latin1_bin char(255) select,insert,update,references -NULL test tb4 f238 63 NULL YES varchar 0 0 NULL NULL latin1 latin1_bin varchar(0) select,insert,update,references -NULL test tb4 f239 64 NULL YES varbinary 1000 1000 NULL NULL NULL NULL varbinary(1000) select,insert,update,references -NULL test tb4 f240 65 NULL YES varchar 120 240 NULL NULL ucs2 ucs2_general_ci varchar(120) select,insert,update,references -NULL test tb4 f241 66 NULL YES char 100 200 NULL NULL ucs2 ucs2_general_ci char(100) select,insert,update,references -NULL test tb4 f242 67 NULL YES bit NULL NULL 30 NULL NULL NULL bit(30) select,insert,update,references - -root@localhost db_datadict - -Show the quotient of COL and CML for all COLUMNS ------------------------------------------------- -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; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -1.0000 binary NULL NULL -1.0000 blob NULL NULL -1.0000 longblob NULL NULL -1.0000 mediumblob NULL NULL -1.0000 tinyblob NULL NULL -1.0000 varbinary NULL NULL -1.0000 char latin1 latin1_bin -1.0000 char latin1 latin1_swedish_ci -1.0000 enum latin1 latin1_swedish_ci -1.0000 longtext latin1 latin1_swedish_ci -1.0000 mediumtext latin1 latin1_swedish_ci -1.0000 set latin1 latin1_swedish_ci -1.0000 text latin1 latin1_swedish_ci -1.0000 tinytext latin1 latin1_swedish_ci -1.0000 longtext utf8 utf8_general_ci -1.0000 text utf8 utf8_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; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -2.0000 char ucs2 ucs2_general_ci -2.0000 longtext ucs2 ucs2_general_ci -2.0000 varchar ucs2 ucs2_general_ci -2.0079 tinytext ucs2 ucs2_general_ci -3.0000 char utf8 utf8_bin -3.0000 enum utf8 utf8_bin -3.0000 char utf8 utf8_general_ci -3.0000 enum utf8 utf8_general_ci -3.0000 set utf8 utf8_general_ci -3.0000 varchar utf8 utf8_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 IS NULL -ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML; -COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME -NULL bigint NULL NULL -NULL bit NULL NULL -NULL date NULL NULL -NULL datetime NULL NULL -NULL decimal NULL NULL -NULL double NULL NULL -NULL double unsigned NULL NULL -NULL double unsigned zerofill NULL NULL -NULL float NULL NULL -NULL float unsigned NULL NULL -NULL float unsigned zerofill NULL NULL -NULL int NULL NULL -NULL mediumint NULL NULL -NULL smallint NULL NULL -NULL time NULL NULL -NULL timestamp NULL NULL -NULL tinyint NULL NULL -NULL year NULL NULL -NULL varchar latin1 latin1_bin ---> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values ---> are 0, which is intended behavior, and the result of 0 / 0 IS NULL -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; -COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE -1.0000 db_datadict t_6_406001 f1 char 10 10 latin1 latin1_swedish_ci char(10) -1.0000 db_datadict t_6_406001 f2 text 65535 65535 latin1 latin1_swedish_ci text -NULL db_datadict t_6_406001 f3 date NULL NULL NULL NULL date -NULL db_datadict t_6_406001 f4 int NULL NULL NULL NULL int(11) -1.0000 db_datadict t_6_406002 f1 char 10 10 latin1 latin1_swedish_ci char(10) -1.0000 db_datadict t_6_406002 f2 text 65535 65535 latin1 latin1_swedish_ci text -NULL db_datadict t_6_406002 f3 date NULL NULL NULL NULL date -NULL db_datadict t_6_406002 f4 int NULL NULL NULL NULL int(11) -3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60) -NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11) -3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3) -NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(21) -1.0000 information_schema COLUMNS COLUMN_DEFAULT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema COLUMNS IS_NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLUMNS DATA_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) -NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema COLUMNS EXTRA varchar 20 60 utf8 utf8_general_ci varchar(20) -3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80) -3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 255 765 utf8 utf8_general_ci varchar(255) -3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMN_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION bigint NULL NULL NULL NULL bigint(10) -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT bigint NULL NULL NULL NULL bigint(10) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SPECIFIC_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema ROUTINES ROUTINE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_TYPE varchar 9 27 utf8 utf8_general_ci varchar(9) -3.0000 information_schema ROUTINES DTD_IDENTIFIER varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES ROUTINE_BODY varchar 8 24 utf8 utf8_general_ci varchar(8) -1.0000 information_schema ROUTINES ROUTINE_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema ROUTINES EXTERNAL_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES EXTERNAL_LANGUAGE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES PARAMETER_STYLE varchar 8 24 utf8 utf8_general_ci varchar(8) -3.0000 information_schema ROUTINES IS_DETERMINISTIC varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema ROUTINES SQL_DATA_ACCESS varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SQL_PATH varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) -NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime -NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime -1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) -3.0000 information_schema SCHEMATA CATALOG_NAME varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA SQL_PATH varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema STATISTICS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema STATISTICS NON_UNIQUE bigint NULL NULL NULL NULL bigint(1) -3.0000 information_schema STATISTICS INDEX_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS INDEX_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema STATISTICS SEQ_IN_INDEX bigint NULL NULL NULL NULL bigint(2) -3.0000 information_schema STATISTICS COLUMN_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema STATISTICS COLLATION varchar 1 3 utf8 utf8_general_ci varchar(1) -NULL information_schema STATISTICS CARDINALITY bigint NULL NULL NULL NULL bigint(21) -NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema STATISTICS PACKED varchar 10 30 utf8 utf8_general_ci varchar(10) -3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16) -3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16) -3.0000 information_schema TABLES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES TABLE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES VERSION bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema TABLES ROW_FORMAT varchar 10 30 utf8 utf8_general_ci varchar(10) -NULL information_schema TABLES TABLE_ROWS bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AVG_ROW_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES MAX_DATA_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES INDEX_LENGTH bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES DATA_FREE bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint(21) -NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime -NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime -3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) -3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) -3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema TABLE_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TABLE_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TABLE_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema TRIGGERS TRIGGER_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TRIGGERS TRIGGER_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS TRIGGER_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS EVENT_MANIPULATION varchar 6 18 utf8 utf8_general_ci varchar(6) -3.0000 information_schema TRIGGERS EVENT_OBJECT_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema TRIGGERS EVENT_OBJECT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS EVENT_OBJECT_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint(4) -1.0000 information_schema TRIGGERS ACTION_CONDITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS ACTION_STATEMENT longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema TRIGGERS ACTION_ORIENTATION varchar 9 27 utf8 utf8_general_ci varchar(9) -3.0000 information_schema TRIGGERS ACTION_TIMING varchar 6 18 utf8 utf8_general_ci varchar(6) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) -NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime -1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema USER_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) -3.0000 information_schema USER_PRIVILEGES TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema USER_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema USER_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema VIEWS TABLE_CATALOG varchar 4096 12288 utf8 utf8_general_ci varchar(4096) -3.0000 information_schema VIEWS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema VIEWS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -1.0000 information_schema VIEWS VIEW_DEFINITION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -3.0000 information_schema VIEWS CHECK_OPTION varchar 8 24 utf8 utf8_general_ci varchar(8) -3.0000 information_schema VIEWS IS_UPDATABLE varchar 3 9 utf8 utf8_general_ci varchar(3) -3.0000 information_schema VIEWS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) -3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) -3.0000 mysql columns_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql columns_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql columns_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql columns_priv Table_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql columns_priv Column_name char 64 192 utf8 utf8_bin char(64) -NULL mysql columns_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql columns_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') -3.0000 mysql db Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql db Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql db User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql db Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql db Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql func name char 64 192 utf8 utf8_bin char(64) -NULL mysql func ret tinyint NULL NULL NULL NULL tinyint(1) -3.0000 mysql func dl char 128 384 utf8 utf8_bin char(128) -3.0000 mysql func type enum 9 27 utf8 utf8_general_ci enum('function','aggregate') -NULL mysql help_category help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -3.0000 mysql help_category name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_category parent_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -3.0000 mysql help_category url char 128 384 utf8 utf8_general_ci char(128) -NULL mysql help_keyword help_keyword_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql help_keyword name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_relation help_topic_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql help_relation help_keyword_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql help_topic help_topic_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql help_topic name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql help_topic help_category_id smallint NULL NULL NULL NULL smallint(5) unsigned -1.0000 mysql help_topic description text 65535 65535 utf8 utf8_general_ci text -1.0000 mysql help_topic example text 65535 65535 utf8 utf8_general_ci text -3.0000 mysql help_topic url char 128 384 utf8 utf8_general_ci char(128) -3.0000 mysql host Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql host Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql host Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql host Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql proc db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql proc name char 64 192 utf8 utf8_general_ci char(64) -3.0000 mysql proc type enum 9 27 utf8 utf8_general_ci enum('FUNCTION','PROCEDURE') -3.0000 mysql proc specific_name char 64 192 utf8 utf8_general_ci char(64) -3.0000 mysql proc language enum 3 9 utf8 utf8_general_ci enum('SQL') -3.0000 mysql proc sql_data_access enum 17 51 utf8 utf8_general_ci enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') -3.0000 mysql proc is_deterministic enum 3 9 utf8 utf8_general_ci enum('YES','NO') -3.0000 mysql proc security_type enum 7 21 utf8 utf8_general_ci enum('INVOKER','DEFINER') -1.0000 mysql proc param_list blob 65535 65535 NULL NULL blob -3.0000 mysql proc returns char 64 192 utf8 utf8_general_ci char(64) -1.0000 mysql proc body longblob 4294967295 4294967295 NULL NULL longblob -3.0000 mysql proc definer char 77 231 utf8 utf8_bin char(77) -NULL mysql proc created timestamp NULL NULL NULL NULL timestamp -NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp -3.0000 mysql proc sql_mode set 431 1293 utf8 utf8_general_ci set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') -3.0000 mysql proc comment char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql procs_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql procs_priv Routine_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql procs_priv Routine_type enum 9 27 utf8 utf8_bin enum('FUNCTION','PROCEDURE') -3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77) -3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant') -NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql tables_priv Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql tables_priv Db char 64 192 utf8 utf8_bin char(64) -3.0000 mysql tables_priv User char 16 48 utf8 utf8_bin char(16) -3.0000 mysql tables_priv Table_name char 64 192 utf8 utf8_bin char(64) -3.0000 mysql tables_priv Grantor char 77 231 utf8 utf8_bin char(77) -NULL mysql tables_priv Timestamp timestamp NULL NULL NULL NULL timestamp -3.0000 mysql tables_priv Table_priv set 90 270 utf8 utf8_general_ci set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') -3.0000 mysql tables_priv Column_priv set 31 93 utf8 utf8_general_ci set('Select','Insert','Update','References') -NULL mysql time_zone Time_zone_id int NULL NULL NULL NULL int(10) unsigned -3.0000 mysql time_zone Use_leap_seconds enum 1 3 utf8 utf8_general_ci enum('Y','N') -NULL mysql time_zone_leap_second Transition_time bigint NULL NULL NULL NULL bigint(20) -NULL mysql time_zone_leap_second Correction int NULL NULL NULL NULL int(11) -3.0000 mysql time_zone_name Name char 64 192 utf8 utf8_general_ci char(64) -NULL mysql time_zone_name Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition Transition_time bigint NULL NULL NULL NULL bigint(20) -NULL mysql time_zone_transition Transition_type_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Time_zone_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Transition_type_id int NULL NULL NULL NULL int(10) unsigned -NULL mysql time_zone_transition_type Offset int NULL NULL NULL NULL int(11) -NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(3) unsigned -3.0000 mysql time_zone_transition_type Abbreviation char 8 24 utf8 utf8_general_ci char(8) -3.0000 mysql user Host char 60 180 utf8 utf8_bin char(60) -3.0000 mysql user User char 16 48 utf8 utf8_bin char(16) -1.0000 mysql user Password char 41 41 latin1 latin1_bin char(41) -3.0000 mysql user Select_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Insert_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Update_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Delete_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Drop_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Reload_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Shutdown_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Process_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user File_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Grant_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user References_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Index_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Alter_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Show_db_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Super_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_tmp_table_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Lock_tables_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Execute_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Repl_slave_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Repl_client_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Show_view_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Alter_routine_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user Create_user_priv enum 1 3 utf8 utf8_general_ci enum('N','Y') -3.0000 mysql user ssl_type enum 9 27 utf8 utf8_general_ci enum('','ANY','X509','SPECIFIED') -1.0000 mysql user ssl_cipher blob 65535 65535 NULL NULL blob -1.0000 mysql user x509_issuer blob 65535 65535 NULL NULL blob -1.0000 mysql user x509_subject blob 65535 65535 NULL NULL blob -NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned -NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned -1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t1 f3 date NULL NULL NULL NULL date -NULL test t1 f4 int NULL NULL NULL NULL int(11) -1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t1 f6 int NULL NULL NULL NULL int(11) -1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t10 f3 date NULL NULL NULL NULL date -NULL test t10 f4 int NULL NULL NULL NULL int(11) -1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t10 f6 int NULL NULL NULL NULL int(11) -1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t11 f3 date NULL NULL NULL NULL date -NULL test t11 f4 int NULL NULL NULL NULL int(11) -1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t11 f6 int NULL NULL NULL NULL int(11) -1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t2 f3 date NULL NULL NULL NULL date -NULL test t2 f4 int NULL NULL NULL NULL int(11) -1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t2 f6 int NULL NULL NULL NULL int(11) -1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20) -NULL test t3 f3 int NULL NULL NULL NULL int(11) -1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t4 f3 date NULL NULL NULL NULL date -NULL test t4 f4 int NULL NULL NULL NULL int(11) -1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t4 f6 int NULL NULL NULL NULL int(11) -1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t7 f3 date NULL NULL NULL NULL date -NULL test t7 f4 int NULL NULL NULL NULL int(11) -1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t8 f3 date NULL NULL NULL NULL date -NULL test t8 f4 int NULL NULL NULL NULL int(11) -NULL test t9 f1 int NULL NULL NULL NULL int(11) -1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test t9 f3 int NULL NULL NULL NULL int(11) -1.0000 test tb1 f1 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb1 f2 char 1 1 latin1 latin1_bin char(1) -1.0000 test tb1 f3 char 1 1 latin1 latin1_swedish_ci char(1) -2.0079 test tb1 f4 tinytext 127 255 ucs2 ucs2_general_ci tinytext -1.0000 test tb1 f5 text 65535 65535 latin1 latin1_swedish_ci text -1.0000 test tb1 f6 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext -1.0000 test tb1 f7 longtext 4294967295 4294967295 latin1 latin1_swedish_ci longtext -1.0000 test tb1 f8 tinyblob 255 255 NULL NULL tinyblob -1.0000 test tb1 f9 blob 65535 65535 NULL NULL blob -1.0000 test tb1 f10 mediumblob 16777215 16777215 NULL NULL mediumblob -1.0000 test tb1 f11 longblob 4294967295 4294967295 NULL NULL longblob -1.0000 test tb1 f12 binary 1 1 NULL NULL binary(1) -NULL test tb1 f13 tinyint NULL NULL NULL NULL tinyint(4) -NULL test tb1 f14 tinyint NULL NULL NULL NULL tinyint(3) unsigned -NULL test tb1 f15 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb1 f16 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb1 f17 smallint NULL NULL NULL NULL smallint(6) -NULL test tb1 f18 smallint NULL NULL NULL NULL smallint(5) unsigned -NULL test tb1 f19 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb1 f20 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb1 f21 mediumint NULL NULL NULL NULL mediumint(9) -NULL test tb1 f22 mediumint NULL NULL NULL NULL mediumint(8) unsigned -NULL test tb1 f23 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb1 f24 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb1 f25 int NULL NULL NULL NULL int(11) -NULL test tb1 f26 int NULL NULL NULL NULL int(10) unsigned -NULL test tb1 f27 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb1 f28 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb1 f29 bigint NULL NULL NULL NULL bigint(20) -NULL test tb1 f30 bigint NULL NULL NULL NULL bigint(20) unsigned -NULL test tb1 f31 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb1 f32 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb1 f33 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f34 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f35 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f36 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f37 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f38 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb1 f39 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f40 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb1 f41 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f42 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb1 f43 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f44 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb1 f45 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f46 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb1 f47 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f48 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb1 f49 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f50 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb1 f51 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f52 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb1 f53 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f54 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb1 f55 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f56 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb1 f57 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb1 f58 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb2 f73 double NULL NULL NULL NULL double -NULL test tb2 f74 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f77 double NULL NULL NULL NULL double -NULL test tb2 f78 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f81 float NULL NULL NULL NULL float -NULL test tb2 f82 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f85 float NULL NULL NULL NULL float -NULL test tb2 f86 float NULL NULL NULL NULL float -NULL test tb2 f87 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f88 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f93 float NULL NULL NULL NULL float -NULL test tb2 f94 double NULL NULL NULL NULL double -NULL test tb2 f95 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb2 f96 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb2 f101 date NULL NULL NULL NULL date -NULL test tb2 f102 time NULL NULL NULL NULL time -NULL test tb2 f103 datetime NULL NULL NULL NULL datetime -NULL test tb2 f104 timestamp NULL NULL NULL NULL timestamp -NULL test tb2 f105 year NULL NULL NULL NULL year(4) -NULL test tb2 f106 year NULL NULL NULL NULL year(4) -NULL test tb2 f107 year NULL NULL NULL NULL year(4) -1.0000 test tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test tb2 f110 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test tb2 f111 varbinary 27 27 NULL NULL varbinary(27) -1.0000 test tb2 f112 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test tb2 f113 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test tb2 f114 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test tb2 f115 varbinary 27 27 NULL NULL varbinary(27) -1.0000 test tb2 f116 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test tb2 f117 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test tb3 f118 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb3 f119 char 1 1 latin1 latin1_bin char(1) -1.0000 test tb3 f120 char 1 1 latin1 latin1_swedish_ci char(1) -1.0000 test tb3 f121 tinytext 255 255 latin1 latin1_swedish_ci tinytext -1.0000 test tb3 f122 text 65535 65535 latin1 latin1_swedish_ci text -1.0000 test tb3 f123 mediumtext 16777215 16777215 latin1 latin1_swedish_ci mediumtext -2.0000 test tb3 f124 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext -1.0000 test tb3 f125 tinyblob 255 255 NULL NULL tinyblob -1.0000 test tb3 f126 blob 65535 65535 NULL NULL blob -1.0000 test tb3 f127 mediumblob 16777215 16777215 NULL NULL mediumblob -1.0000 test tb3 f128 longblob 4294967295 4294967295 NULL NULL longblob -1.0000 test tb3 f129 binary 1 1 NULL NULL binary(1) -NULL test tb3 f130 tinyint NULL NULL NULL NULL tinyint(4) -NULL test tb3 f131 tinyint NULL NULL NULL NULL tinyint(3) unsigned -NULL test tb3 f132 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb3 f133 tinyint NULL NULL NULL NULL tinyint(3) unsigned zerofill -NULL test tb3 f134 smallint NULL NULL NULL NULL smallint(6) -NULL test tb3 f135 smallint NULL NULL NULL NULL smallint(5) unsigned -NULL test tb3 f136 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb3 f137 smallint NULL NULL NULL NULL smallint(5) unsigned zerofill -NULL test tb3 f138 mediumint NULL NULL NULL NULL mediumint(9) -NULL test tb3 f139 mediumint NULL NULL NULL NULL mediumint(8) unsigned -NULL test tb3 f140 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb3 f141 mediumint NULL NULL NULL NULL mediumint(8) unsigned zerofill -NULL test tb3 f142 int NULL NULL NULL NULL int(11) -NULL test tb3 f143 int NULL NULL NULL NULL int(10) unsigned -NULL test tb3 f144 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb3 f145 int NULL NULL NULL NULL int(10) unsigned zerofill -NULL test tb3 f146 bigint NULL NULL NULL NULL bigint(20) -NULL test tb3 f147 bigint NULL NULL NULL NULL bigint(20) unsigned -NULL test tb3 f148 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb3 f149 bigint NULL NULL NULL NULL bigint(20) unsigned zerofill -NULL test tb3 f150 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f151 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f152 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f153 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f154 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f155 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb3 f156 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f157 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb3 f158 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f159 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb3 f160 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f161 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb3 f162 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f163 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb3 f164 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f165 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb3 f166 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f167 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb3 f168 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f169 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb3 f170 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f171 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb3 f172 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f173 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb3 f174 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb3 f175 decimal NULL NULL NULL NULL decimal(64,0) -NULL test tb4 f176 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb4 f177 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test tb4 f178 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f179 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb4 f180 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f181 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test tb4 f182 decimal NULL NULL NULL NULL decimal(10,0) -NULL test tb4 f183 decimal NULL NULL NULL NULL decimal(63,30) -NULL test tb4 f184 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test tb4 f185 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test tb4 f186 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f187 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb4 f188 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test tb4 f189 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test tb4 f190 double NULL NULL NULL NULL double -NULL test tb4 f191 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f192 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f193 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f194 double NULL NULL NULL NULL double -NULL test tb4 f195 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f196 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f197 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f198 float NULL NULL NULL NULL float -NULL test tb4 f199 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f200 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f201 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f202 float NULL NULL NULL NULL float -NULL test tb4 f203 float NULL NULL NULL NULL float -NULL test tb4 f204 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f205 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f206 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f207 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f208 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f209 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f210 float NULL NULL NULL NULL float -NULL test tb4 f211 double NULL NULL NULL NULL double -NULL test tb4 f212 float unsigned NULL NULL NULL NULL float unsigned -NULL test tb4 f213 double unsigned NULL NULL NULL NULL double unsigned -NULL test tb4 f214 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f215 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f216 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test tb4 f217 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test tb4 f218 date NULL NULL NULL NULL date -NULL test tb4 f219 time NULL NULL NULL NULL time -NULL test tb4 f220 datetime NULL NULL NULL NULL datetime -NULL test tb4 f221 timestamp NULL NULL NULL NULL timestamp -NULL test tb4 f222 year NULL NULL NULL NULL year(4) -NULL test tb4 f223 year NULL NULL NULL NULL year(4) -NULL test tb4 f224 year NULL NULL NULL NULL year(4) -1.0000 test tb4 f225 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test tb4 f226 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test tb4 f227 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test tb4 f228 varbinary 27 27 NULL NULL varbinary(27) -1.0000 test tb4 f229 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test tb4 f230 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test tb4 f231 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test tb4 f232 varbinary 27 27 NULL NULL varbinary(27) -1.0000 test tb4 f233 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test tb4 f234 varbinary 192 192 NULL NULL varbinary(192) -2.0000 test tb4 f235 char 255 510 ucs2 ucs2_general_ci char(255) -1.0000 test tb4 f236 char 60 60 latin1 latin1_swedish_ci char(60) -1.0000 test tb4 f237 char 255 255 latin1 latin1_bin char(255) -NULL test tb4 f238 varchar 0 0 latin1 latin1_bin varchar(0) -1.0000 test tb4 f239 varbinary 1000 1000 NULL NULL varbinary(1000) -2.0000 test tb4 f240 varchar 120 240 ucs2 ucs2_general_ci varchar(120) -2.0000 test tb4 f241 char 100 200 ucs2 ucs2_general_ci char(100) -NULL test tb4 f242 bit NULL NULL NULL NULL bit(30) -NULL test1 tb2 f59 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test1 tb2 f60 decimal NULL NULL NULL NULL decimal(64,0) unsigned -NULL test1 tb2 f61 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f62 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test1 tb2 f63 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f64 decimal NULL NULL NULL NULL decimal(64,0) unsigned zerofill -NULL test1 tb2 f65 decimal NULL NULL NULL NULL decimal(10,0) -NULL test1 tb2 f66 decimal NULL NULL NULL NULL decimal(63,30) -NULL test1 tb2 f67 decimal NULL NULL NULL NULL decimal(10,0) unsigned -NULL test1 tb2 f68 decimal NULL NULL NULL NULL decimal(63,30) unsigned -NULL test1 tb2 f69 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f70 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test1 tb2 f71 decimal NULL NULL NULL NULL decimal(10,0) unsigned zerofill -NULL test1 tb2 f72 decimal NULL NULL NULL NULL decimal(63,30) unsigned zerofill -NULL test1 tb2 f73 double NULL NULL NULL NULL double -NULL test1 tb2 f74 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f75 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f76 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f77 double NULL NULL NULL NULL double -NULL test1 tb2 f78 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f79 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f80 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f81 float NULL NULL NULL NULL float -NULL test1 tb2 f82 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f83 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f84 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f85 float NULL NULL NULL NULL float -NULL test1 tb2 f86 float NULL NULL NULL NULL float -NULL test1 tb2 f87 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f88 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f89 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f90 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f91 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f92 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f93 float NULL NULL NULL NULL float -NULL test1 tb2 f94 double NULL NULL NULL NULL double -NULL test1 tb2 f95 float unsigned NULL NULL NULL NULL float unsigned -NULL test1 tb2 f96 double unsigned NULL NULL NULL NULL double unsigned -NULL test1 tb2 f97 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f98 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f99 float unsigned zerofill NULL NULL NULL NULL float unsigned zerofill -NULL test1 tb2 f100 double unsigned zerofill NULL NULL NULL NULL double unsigned zerofill -NULL test1 tb2 f101 date NULL NULL NULL NULL date -NULL test1 tb2 f102 time NULL NULL NULL NULL time -NULL test1 tb2 f103 datetime NULL NULL NULL NULL datetime -NULL test1 tb2 f104 timestamp NULL NULL NULL NULL timestamp -NULL test1 tb2 f105 year NULL NULL NULL NULL year(4) -NULL test1 tb2 f106 year NULL NULL NULL NULL year(4) -NULL test1 tb2 f107 year NULL NULL NULL NULL year(4) -1.0000 test1 tb2 f108 enum 5 5 latin1 latin1_swedish_ci enum('1enum','2enum') -1.0000 test1 tb2 f109 set 9 9 latin1 latin1_swedish_ci set('1set','2set') -1.0000 test1 tb2 f110 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test1 tb2 f111 varbinary 27 27 NULL NULL varbinary(27) -1.0000 test1 tb2 f112 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test1 tb2 f113 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test1 tb2 f114 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test1 tb2 f115 varbinary 27 27 NULL NULL varbinary(27) -1.0000 test1 tb2 f116 varbinary 64 64 NULL NULL varbinary(64) -1.0000 test1 tb2 f117 varbinary 192 192 NULL NULL varbinary(192) -1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20) -1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test4 t6 f3 date NULL NULL NULL NULL date -NULL test4 t6 f4 int NULL NULL NULL NULL int(11) -1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25) -NULL test4 t6 f6 int NULL NULL NULL NULL int(11) -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; - -Testcase 3.2.7.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC key_column_usage; -Field Type Null Key Default Extra -CONSTRAINT_CATALOG varchar(4096) YES NULL -CONSTRAINT_SCHEMA varchar(64) NO -CONSTRAINT_NAME varchar(64) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -COLUMN_NAME varchar(64) NO -ORDINAL_POSITION bigint(10) NO 0 -POSITION_IN_UNIQUE_CONSTRAINT bigint(10) YES NULL -REFERENCED_TABLE_SCHEMA varchar(64) YES NULL -REFERENCED_TABLE_NAME varchar(64) YES NULL -REFERENCED_COLUMN_NAME varchar(64) YES NULL -SHOW CREATE TABLE key_column_usage; -Table Create Table -KEY_COLUMN_USAGE CREATE TEMPORARY TABLE `KEY_COLUMN_USAGE` ( - `CONSTRAINT_CATALOG` varchar(4096) default NULL, - `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', - `CONSTRAINT_NAME` varchar(64) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `ORDINAL_POSITION` bigint(10) NOT NULL default '0', - `POSITION_IN_UNIQUE_CONSTRAINT` bigint(10) default NULL, - `REFERENCED_TABLE_SCHEMA` varchar(64) default NULL, - `REFERENCED_TABLE_NAME` varchar(64) default NULL, - `REFERENCED_COLUMN_NAME` varchar(64) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'key_column_usage' -ORDER BY ordinal_position; -COUNT(*) -12 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'key_column_usage' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.7.2 + 3.2.7.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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'; -FLUSH PRIVILEGES; -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL -NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_category name 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_keyword name 1 NULL NULL NULL NULL -NULL mysql name NULL mysql help_topic name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql columns_priv Column_name 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql db User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql func name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_category help_category_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_keyword help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_keyword_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_relation help_topic_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql help_topic help_topic_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql host Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc db 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc name 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql proc type 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql procs_priv Routine_type 5 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Db 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv User 3 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql tables_priv Table_name 4 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_leap_second Transition_time 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_name Name 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition Transition_time 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Time_zone_id 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql time_zone_transition_type Transition_type_id 2 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user Host 1 NULL NULL NULL NULL -NULL mysql PRIMARY NULL mysql user User 2 NULL NULL NULL NULL -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40701 f1 1 NULL NULL NULL NULL -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.key_column_usage -ORDER BY constraint_catalog, constraint_schema, constraint_name, -table_catalog, table_schema, table_name, ordinal_position; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME -NULL db_datadict PRIMARY NULL db_datadict t_40702 f1 1 NULL NULL NULL NULL - -root@localhost db_datadict -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP TABLE t_40701; -DROP TABLE t_40702; -DROP DATABASE IF EXISTS db_datadict; - -Testcase 3.2.8.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC routines; -Field Type Null Key Default Extra -SPECIFIC_NAME varchar(64) NO -ROUTINE_CATALOG varchar(4096) YES NULL -ROUTINE_SCHEMA varchar(64) NO -ROUTINE_NAME varchar(64) NO -ROUTINE_TYPE varchar(9) NO -DTD_IDENTIFIER varchar(64) YES NULL -ROUTINE_BODY varchar(8) NO -ROUTINE_DEFINITION longtext YES NULL -EXTERNAL_NAME varchar(64) YES NULL -EXTERNAL_LANGUAGE varchar(64) YES NULL -PARAMETER_STYLE varchar(8) NO -IS_DETERMINISTIC varchar(3) NO -SQL_DATA_ACCESS varchar(64) NO -SQL_PATH varchar(64) YES NULL -SECURITY_TYPE varchar(7) NO -CREATED datetime NO 0000-00-00 00:00:00 -LAST_ALTERED datetime NO 0000-00-00 00:00:00 -SQL_MODE longtext NO NULL -ROUTINE_COMMENT varchar(64) NO -DEFINER varchar(77) NO -SHOW CREATE TABLE routines; -Table Create Table -ROUTINES CREATE TEMPORARY TABLE `ROUTINES` ( - `SPECIFIC_NAME` varchar(64) NOT NULL default '', - `ROUTINE_CATALOG` varchar(4096) default NULL, - `ROUTINE_SCHEMA` varchar(64) NOT NULL default '', - `ROUTINE_NAME` varchar(64) NOT NULL default '', - `ROUTINE_TYPE` varchar(9) NOT NULL default '', - `DTD_IDENTIFIER` varchar(64) default NULL, - `ROUTINE_BODY` varchar(8) NOT NULL default '', - `ROUTINE_DEFINITION` longtext, - `EXTERNAL_NAME` varchar(64) default NULL, - `EXTERNAL_LANGUAGE` varchar(64) default NULL, - `PARAMETER_STYLE` varchar(8) NOT NULL default '', - `IS_DETERMINISTIC` varchar(3) NOT NULL default '', - `SQL_DATA_ACCESS` varchar(64) NOT NULL default '', - `SQL_PATH` varchar(64) default NULL, - `SECURITY_TYPE` varchar(7) NOT NULL default '', - `CREATED` datetime NOT NULL default '0000-00-00 00:00:00', - `LAST_ALTERED` datetime NOT NULL default '0000-00-00 00:00:00', - `SQL_MODE` longtext NOT NULL, - `ROUTINE_COMMENT` varchar(64) NOT NULL default '', - `DEFINER` varchar(77) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'routines' -ORDER BY ordinal_position; -COUNT(*) -20 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'routines' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema ROUTINES DTD_IDENTIFIER 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES ROUTINE_BODY 7 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES ROUTINE_DEFINITION 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES EXTERNAL_NAME 9 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES EXTERNAL_LANGUAGE 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES PARAMETER_STYLE 11 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema ROUTINES IS_DETERMINISTIC 12 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select -NULL information_schema ROUTINES CREATED 16 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES LAST_ALTERED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema ROUTINES ROUTINE_COMMENT 19 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema ROUTINES DEFINER 20 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select - -Testcase 3.2.8.2 + 3.2.8.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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); -DROP PROCEDURE IF EXISTS sp_6_408002_1; -CREATE PROCEDURE sp_6_408002_1() -BEGIN -SELECT * FROM db_datadict.res_6_408002_1; -END// -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); -DROP PROCEDURE IF EXISTS sp_6_408002_2; -CREATE PROCEDURE sp_6_408002_2() -BEGIN -SELECT * FROM db_datadict_2.res_6_408002_2; -END// -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_6_408002_1 NULL db_datadict sp_6_408002_1 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER -sp_6_408002_2 NULL db_datadict_2 sp_6_408002_2 PROCEDURE NULL SQL NULL NULL NULL SQL NO CONTAINS SQL NULL DEFINER YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss root@localhost -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.routines; -SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER - -root@localhost db_datadict_2 -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; - -Testcase 3.2.8.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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); -drop procedure if exists sp_6_408004; -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); - -Checking the max. possible length of (currently) 4 GByte is not possible in this environment here. --------------------------------------------------------------------------------------------------- -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// -call sp_6_408004 (); -@a -test row -@a -test row -@a -test row -@a -test row -@a -test row -@a -test row -select * from res_6_408004_2; -f1 f2 f3 f4 f5 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -abc 98765 99999999 98765 2010 -SELECT *, LENGTH(routine_definition) -FROM information_schema.routines -WHERE routine_schema = 'db_datadict'; -SPECIFIC_NAME sp_6_408004 -ROUTINE_CATALOG NULL -ROUTINE_SCHEMA db_datadict -ROUTINE_NAME sp_6_408004 -ROUTINE_TYPE PROCEDURE -DTD_IDENTIFIER NULL -ROUTINE_BODY SQL -ROUTINE_DEFINITION 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 -EXTERNAL_NAME NULL -EXTERNAL_LANGUAGE NULL -PARAMETER_STYLE SQL -IS_DETERMINISTIC NO -SQL_DATA_ACCESS CONTAINS SQL -SQL_PATH NULL -SECURITY_TYPE DEFINER -CREATED YYYY-MM-DD hh:mm:ss -LAST_ALTERED YYYY-MM-DD hh:mm:ss -SQL_MODE -ROUTINE_COMMENT -DEFINER root@localhost -LENGTH(routine_definition) 2549 -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; - -Testcase 3.2.9.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC schemata; -Field Type Null Key Default Extra -CATALOG_NAME varchar(4096) YES NULL -SCHEMA_NAME varchar(64) NO -DEFAULT_CHARACTER_SET_NAME varchar(64) NO -DEFAULT_COLLATION_NAME varchar(64) NO -SQL_PATH varchar(4096) YES NULL -SHOW CREATE TABLE schemata; -Table Create Table -SCHEMATA CREATE TEMPORARY TABLE `SCHEMATA` ( - `CATALOG_NAME` varchar(4096) default NULL, - `SCHEMA_NAME` varchar(64) NOT NULL default '', - `DEFAULT_CHARACTER_SET_NAME` varchar(64) NOT NULL default '', - `DEFAULT_COLLATION_NAME` varchar(64) NOT NULL default '', - `SQL_PATH` varchar(4096) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schemata' -ORDER BY ordinal_position; -COUNT(*) -5 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schemata' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select - -Testcase 3.2.9.2 + 3.2.9.3: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -CREATE USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict_1; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,db_datadict_1,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -3 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict_1 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -3 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL db_datadict_2 latin1 latin1_swedish_ci NULL -NULL test latin1 latin1_swedish_ci NULL -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT COUNT(*) FROM information_schema.schemata; -COUNT(*) -2 -SELECT * FROM information_schema.schemata; -CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME DEFAULT_COLLATION_NAME SQL_PATH -NULL information_schema utf8 utf8_general_ci NULL -NULL test latin1 latin1_swedish_ci NULL - -root@localhost information_schema -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; - -Testcase 3.2.10.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC table_constraints; -Field Type Null Key Default Extra -CONSTRAINT_CATALOG varchar(4096) YES NULL -CONSTRAINT_SCHEMA varchar(64) NO -CONSTRAINT_NAME varchar(64) NO -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -CONSTRAINT_TYPE varchar(64) NO -SHOW CREATE TABLE table_constraints; -Table Create Table -TABLE_CONSTRAINTS CREATE TEMPORARY TABLE `TABLE_CONSTRAINTS` ( - `CONSTRAINT_CATALOG` varchar(4096) default NULL, - `CONSTRAINT_SCHEMA` varchar(64) NOT NULL default '', - `CONSTRAINT_NAME` varchar(64) NOT NULL default '', - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `CONSTRAINT_TYPE` varchar(64) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_constraints' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_constraints' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select - -Testcase 3.2.10.2 + 3.2.10.3: --------------------------------------------------------------------------------- -CREATE USER 'user_1'@'localhost'; -CREATE USER 'user_2'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL db_datadict PRIMARY db_datadict res_6_401003_1 PRIMARY KEY -SELECT COUNT(*) FROM information_schema.table_constraints; -COUNT(*) -1 -connect(localhost,user_2,,db_datadict_2,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_constraints; -CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE -NULL db_datadict_2 PRIMARY db_datadict_2 res_6_401003_2 PRIMARY KEY -SELECT COUNT(*) FROM information_schema.table_constraints; -COUNT(*) -1 -use db_datadict; - -root@localhost db_datadict -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; - -Testcase 3.2.11.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC table_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE table_privileges; -Table Create Table -TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_privileges' -ORDER BY ordinal_position; -COUNT(*) -6 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'table_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.11.2 + 3.2.11.3 + 3.2.11.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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%'; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL db_datadict tb1 SELECT NO -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict tb1 SELECT YES -'user_2'@'localhost' NULL db_datadict tb1 INSERT YES -'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES -'user_2'@'localhost' NULL db_datadict tb1 DELETE YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE YES -'user_2'@'localhost' NULL db_datadict tb1 DROP YES -'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES -'user_2'@'localhost' NULL db_datadict tb1 INDEX YES -'user_2'@'localhost' NULL db_datadict tb1 ALTER YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES -'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES -SELECT USER(), COUNT(*) -FROM information_schema.table_privileges -WHERE grantee = USER(); -USER() COUNT(*) -user_2@localhost 0 -SELECT USER(), COUNT(*) -FROM information_schema.table_privileges -WHERE grantee = "'user_2'@'localhost'"; -USER() COUNT(*) -user_2@localhost 11 -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL db_datadict tb3 SELECT NO - -root@localhost db_datadict -SELECT * FROM information_schema.table_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL db_datadict tb1 SELECT YES -'user_2'@'localhost' NULL db_datadict tb1 INSERT YES -'user_2'@'localhost' NULL db_datadict tb1 UPDATE YES -'user_2'@'localhost' NULL db_datadict tb1 DELETE YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE YES -'user_2'@'localhost' NULL db_datadict tb1 DROP YES -'user_2'@'localhost' NULL db_datadict tb1 REFERENCES YES -'user_2'@'localhost' NULL db_datadict tb1 INDEX YES -'user_2'@'localhost' NULL db_datadict tb1 ALTER YES -'user_2'@'localhost' NULL db_datadict tb1 CREATE VIEW YES -'user_2'@'localhost' NULL db_datadict tb1 SHOW VIEW YES -'user_1'@'localhost' NULL db_datadict tb1 SELECT NO -'user_3'@'localhost' NULL db_datadict tb3 SELECT NO - -root@localhost db_datadict -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; - -Testcase 3.2.12.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC tables; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -TABLE_TYPE varchar(64) NO -ENGINE varchar(64) YES NULL -VERSION bigint(21) YES NULL -ROW_FORMAT varchar(10) YES NULL -TABLE_ROWS bigint(21) YES NULL -AVG_ROW_LENGTH bigint(21) YES NULL -DATA_LENGTH bigint(21) YES NULL -MAX_DATA_LENGTH bigint(21) YES NULL -INDEX_LENGTH bigint(21) YES NULL -DATA_FREE bigint(21) YES NULL -AUTO_INCREMENT bigint(21) YES NULL -CREATE_TIME datetime YES NULL -UPDATE_TIME datetime YES NULL -CHECK_TIME datetime YES NULL -TABLE_COLLATION varchar(64) YES NULL -CHECKSUM bigint(21) YES NULL -CREATE_OPTIONS varchar(255) YES NULL -TABLE_COMMENT varchar(80) NO -SHOW CREATE TABLE tables; -Table Create Table -TABLES CREATE TEMPORARY TABLE `TABLES` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `TABLE_TYPE` varchar(64) NOT NULL default '', - `ENGINE` varchar(64) default NULL, - `VERSION` bigint(21) default NULL, - `ROW_FORMAT` varchar(10) default NULL, - `TABLE_ROWS` bigint(21) default NULL, - `AVG_ROW_LENGTH` bigint(21) default NULL, - `DATA_LENGTH` bigint(21) default NULL, - `MAX_DATA_LENGTH` bigint(21) default NULL, - `INDEX_LENGTH` bigint(21) default NULL, - `DATA_FREE` bigint(21) default NULL, - `AUTO_INCREMENT` bigint(21) default NULL, - `CREATE_TIME` datetime default NULL, - `UPDATE_TIME` datetime default NULL, - `CHECK_TIME` datetime default NULL, - `TABLE_COLLATION` varchar(64) default NULL, - `CHECKSUM` bigint(21) default NULL, - `CREATE_OPTIONS` varchar(255) default NULL, - `TABLE_COMMENT` varchar(80) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'tables' -ORDER BY ordinal_position; -COUNT(*) -21 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'tables' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select -NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select - -Testcase 3.2.12.2 + 3.2.12.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -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'; -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE 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 latin1_swedish_ci NULL -NULL db_datadict tb2 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb1 BASE TABLE 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -connect(localhost,user_3,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema'); -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL - -root@localhost db_datadict -SELECT * FROM information_schema.tables -WHERE table_schema = 'information_schema'; -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 information_schema CHARACTER_SETS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATIONS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema COLUMNS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema COLUMN_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema KEY_COLUMN_USAGE SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema ROUTINES SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema SCHEMATA SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema SCHEMA_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema STATISTICS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_CONSTRAINTS SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TABLE_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema TRIGGERS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -NULL information_schema USER_PRIVILEGES SYSTEM VIEW MEMORY 0 Fixed NULL #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 #CO# -NULL information_schema VIEWS SYSTEM VIEW MyISAM 0 Dynamic NULL #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 #CO# -SELECT * FROM information_schema.tables -WHERE NOT( table_schema = 'information_schema') AND NOT (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 db_datadict tb1 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 latin1_swedish_ci NULL -NULL db_datadict tb2 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 latin1_swedish_ci NULL -NULL db_datadict tb3 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 latin1_swedish_ci NULL -NULL db_datadict v3 VIEW NULL NULL NULL NULL #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss NULL NULL NULL VIEW -NULL mysql columns_priv 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_bin NULL Column privileges -NULL mysql db BASE TABLE MyISAM 10 Fixed 3 #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_bin NULL Database privileges -NULL mysql func 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_bin NULL User defined functions -NULL mysql host 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_bin NULL Host privileges; Merged with database privileges -NULL mysql proc 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 Stored Procedures -NULL mysql procs_priv 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_bin NULL Procedure privileges -NULL mysql tables_priv BASE TABLE MyISAM 10 Fixed 5 #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_bin NULL Table privileges -NULL mysql time_zone BASE TABLE MyISAM 10 Fixed 5 #ARL# #DL# #MDL# #IL# #DF# 6 YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL Time zones -NULL mysql time_zone_leap_second BASE TABLE MyISAM 10 Fixed 22 #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 Leap seconds information for time zones -NULL mysql time_zone_name BASE TABLE MyISAM 10 Fixed 6 #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 Time zone names -NULL mysql time_zone_transition BASE TABLE MyISAM 10 Fixed 393 #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 Time zone transitions -NULL mysql time_zone_transition_type BASE TABLE MyISAM 10 Fixed 31 #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 Time zone transition types -NULL mysql user BASE TABLE MyISAM 10 Dynamic 6 #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_bin NULL Users and global privileges -NULL test t1 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t10 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t11 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t2 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t3 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t4 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t7 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t8 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test t9 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb1 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb3 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test tb4 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test1 tb2 BASE TABLE MyISAM 10 Dynamic 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -NULL test4 t6 BASE TABLE MyISAM 10 Fixed 10 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss latin1_swedish_ci NULL -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; - -Testcase 3.2.13.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC views; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -VIEW_DEFINITION longtext NO NULL -CHECK_OPTION varchar(8) NO -IS_UPDATABLE varchar(3) NO -DEFINER varchar(77) NO -SECURITY_TYPE varchar(7) NO -SHOW CREATE TABLE views; -Table Create Table -VIEWS CREATE TEMPORARY TABLE `VIEWS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `VIEW_DEFINITION` longtext NOT NULL, - `CHECK_OPTION` varchar(8) NOT NULL default '', - `IS_UPDATABLE` varchar(3) NOT NULL default '', - `DEFINER` varchar(77) NOT NULL default '', - `SECURITY_TYPE` varchar(7) NOT NULL default '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'views' -ORDER BY ordinal_position; -COUNT(*) -8 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'views' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema VIEWS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) select -NULL information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) select -NULL information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) select - -Testcase 3.2.13.2 + 3.2.13.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_glob /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER -NULL db_datadict v_granted_to_1 /* ALGORITHM=UNDEFINED */ select `db_datadict`.`tb_401302`.`f1` AS `f1`,`db_datadict`.`tb_401302`.`f2` AS `f2`,`db_datadict`.`tb_401302`.`f3` AS `f3` from `db_datadict`.`tb_401302` NONE YES root@localhost DEFINER -connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER -connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE -NULL db_datadict v_granted_glob NONE YES root@localhost DEFINER -NULL db_datadict v_granted_to_1 NONE YES root@localhost DEFINER -connect(localhost,user_no_views,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.views; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE - -root@localhost db_datadict -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; - -Testcase 3.2.14.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC statistics; -Field Type Null Key Default Extra -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -TABLE_NAME varchar(64) NO -NON_UNIQUE bigint(1) NO 0 -INDEX_SCHEMA varchar(64) NO -INDEX_NAME varchar(64) NO -SEQ_IN_INDEX bigint(2) NO 0 -COLUMN_NAME varchar(64) NO -COLLATION varchar(1) YES NULL -CARDINALITY bigint(21) YES NULL -SUB_PART bigint(3) YES NULL -PACKED varchar(10) YES NULL -NULLABLE varchar(3) NO -INDEX_TYPE varchar(16) NO -COMMENT varchar(16) YES NULL -SHOW CREATE TABLE statistics; -Table Create Table -STATISTICS CREATE TEMPORARY TABLE `STATISTICS` ( - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `TABLE_NAME` varchar(64) NOT NULL default '', - `NON_UNIQUE` bigint(1) NOT NULL default '0', - `INDEX_SCHEMA` varchar(64) NOT NULL default '', - `INDEX_NAME` varchar(64) NOT NULL default '', - `SEQ_IN_INDEX` bigint(2) NOT NULL default '0', - `COLUMN_NAME` varchar(64) NOT NULL default '', - `COLLATION` varchar(1) default NULL, - `CARDINALITY` bigint(21) default NULL, - `SUB_PART` bigint(3) default NULL, - `PACKED` varchar(10) default NULL, - `NULLABLE` varchar(3) NOT NULL default '', - `INDEX_TYPE` varchar(16) NOT NULL default '', - `COMMENT` varchar(16) default NULL -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'statistics' -ORDER BY ordinal_position; -COUNT(*) -15 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'statistics' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema STATISTICS TABLE_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1) select -NULL information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2) select -NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) select -NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) select -NULL information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3) select -NULL information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select -NULL information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select -NULL information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16) select - -Testcase 3.2.14.2 + 3.2.14.3: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -connect(localhost,user_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.statistics; -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -connect(localhost,user_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.statistics; -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 - -root@localhost db_datadict_2 -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_%'); -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict tb_6_401402_2 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_2 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_2 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_2 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL mysql columns_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 4 Table_name A NULL NULL NULL BTREE -NULL mysql columns_priv 0 mysql PRIMARY 5 Column_name A 0 NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql db 0 mysql PRIMARY 3 User A 2 NULL NULL BTREE -NULL mysql db 1 mysql User 1 User A 1 NULL NULL BTREE -NULL mysql func 0 mysql PRIMARY 1 name A 0 NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql host 0 mysql PRIMARY 2 Db A 0 NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 1 db A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 2 name A NULL NULL NULL BTREE -NULL mysql proc 0 mysql PRIMARY 3 type A 0 NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 4 Routine_name A NULL NULL NULL BTREE -NULL mysql procs_priv 0 mysql PRIMARY 5 Routine_type A 0 NULL NULL BTREE -NULL mysql procs_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 2 Db A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 3 User A NULL NULL NULL BTREE -NULL mysql tables_priv 0 mysql PRIMARY 4 Table_name A 2 NULL NULL BTREE -NULL mysql tables_priv 1 mysql Grantor 1 Grantor A NULL NULL NULL BTREE -NULL mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A 5 NULL NULL BTREE -NULL mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A 22 NULL NULL BTREE -NULL mysql time_zone_name 0 mysql PRIMARY 1 Name A 6 NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A 393 NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A NULL NULL NULL BTREE -NULL mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A 31 NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 1 Host A NULL NULL NULL BTREE -NULL mysql user 0 mysql PRIMARY 2 User A 5 NULL NULL BTREE - -user_1@localhost test -SELECT * FROM information_schema.statistics; -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 db_datadict tb_6_401402_1 0 db_datadict PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict tb_6_401402_1 1 db_datadict f2_ind 1 f2 A NULL NULL NULL YES BTREE -NULL db_datadict_2 tb_2_1 0 db_datadict_2 PRIMARY 1 f1 A 0 NULL NULL BTREE -NULL db_datadict_2 tb_2_1 1 db_datadict_2 f2_ind 1 f2 A NULL NULL NULL YES BTREE - -user_2@localhost test -SELECT * FROM information_schema.statistics; -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 - -root@localhost db_datadict_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; - -Testcase 3.2.15.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC schema_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -TABLE_SCHEMA varchar(64) NO -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE schema_privileges; -Table Create Table -SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `TABLE_SCHEMA` varchar(64) NOT NULL default '', - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schema_privileges' -ORDER BY ordinal_position; -COUNT(*) -5 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'schema_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.15.2: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401502'@'localhost' NULL db_datadict INSERT NO -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -connect(localhost,u_6_401502,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401502'@'localhost' NULL db_datadict INSERT NO -use db_datadict; - -root@localhost db_datadict -DROP USER 'u_6_401502'@'localhost'; -drop table res_6_401502; -use test; -drop database db_datadict; -drop database db_datadict_2; - -Testcase 3.2.15.3 + 3.2.15.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -DROP DATABASE IF EXISTS db_datadict_2; -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; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO -'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO -''@'%' NULL test SELECT NO -''@'%' NULL test INSERT NO -''@'%' NULL test UPDATE NO -''@'%' NULL test DELETE NO -''@'%' NULL test CREATE NO -''@'%' NULL test DROP NO -''@'%' NULL test REFERENCES NO -''@'%' NULL test INDEX NO -''@'%' NULL test ALTER NO -''@'%' NULL test CREATE TEMPORARY TABLES NO -''@'%' NULL test LOCK TABLES NO -''@'%' NULL test CREATE VIEW NO -''@'%' NULL test SHOW VIEW NO -''@'%' NULL test CREATE ROUTINE NO -''@'%' NULL test\_% SELECT NO -''@'%' NULL test\_% INSERT NO -''@'%' NULL test\_% UPDATE NO -''@'%' NULL test\_% DELETE NO -''@'%' NULL test\_% CREATE NO -''@'%' NULL test\_% DROP NO -''@'%' NULL test\_% REFERENCES NO -''@'%' NULL test\_% INDEX NO -''@'%' NULL test\_% ALTER NO -''@'%' NULL test\_% CREATE TEMPORARY TABLES NO -''@'%' NULL test\_% LOCK TABLES NO -''@'%' NULL test\_% CREATE VIEW NO -''@'%' NULL test\_% SHOW VIEW NO -''@'%' NULL test\_% CREATE ROUTINE NO -connect(localhost,u_6_401503_1,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_1'@'localhost' NULL db_datadict UPDATE NO -connect(localhost,u_6_401503_2,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE -'u_6_401503_2'@'localhost' NULL db_datadict_2 DELETE NO -connect(localhost,u_6_401503_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.schema_privileges; -GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE - -root@localhost db_datadict_2 -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; - -Testcase 3.2.16.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC user_privileges; -Field Type Null Key Default Extra -GRANTEE varchar(81) NO -TABLE_CATALOG varchar(4096) YES NULL -PRIVILEGE_TYPE varchar(64) NO -IS_GRANTABLE varchar(3) NO -SHOW CREATE TABLE user_privileges; -Table Create Table -USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` ( - `GRANTEE` varchar(81) NOT NULL default '', - `TABLE_CATALOG` varchar(4096) default NULL, - `PRIVILEGE_TYPE` varchar(64) NOT NULL default '', - `IS_GRANTABLE` varchar(3) NOT NULL default '' -) ENGINE=MEMORY DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'user_privileges' -ORDER BY ordinal_position; -COUNT(*) -4 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'user_privileges' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) select -NULL information_schema USER_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select - -Testcase 3.2.16.2 + 3.2.16.3 + 3.2.16.4: --------------------------------------------------------------------------------- -DROP DATABASE IF EXISTS db_datadict; -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; - -FIXME (see Bug 12269) Here we expect more than only <USAGE> for user_1 ----------------------------------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -add GRANT OPTION db_datadict.* to user_1 ----------------------------------------- -GRANT UPDATE ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION; - -FIXME (see Bug 12269) Here the <YES> is missing for the GRANT OPTION for user_1 -------------------------------------------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -FLUSH PRIVILEGES; -connect(localhost,user_1,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' - -Now add SELECT on *.* to user_1 -------------------------------- - -root@localhost information_schema -GRANT SELECT ON *.* TO 'user_1'@'localhost'; - -Here <SELECT NO> is shown correctly for user_1 ----------------------------------------------- -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION; - -Here <SELECT YES> is shown correctly for user_1 ------------------------------------------------ -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION -FLUSH PRIVILEGES; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL SELECT YES -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT SELECT ON *.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT, UPDATE ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -connect(localhost,user_2,,db_datadict,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_2@localhost -GRANT INSERT, UPDATE ON *.* TO 'user_2'@'localhost' -connect(localhost,user_3,,test,MYSQL_PORT,MYSQL_SOCK); -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_3'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_3@localhost -GRANT USAGE ON *.* TO 'user_3'@'localhost' - -revoke privileges from user_1 ------------------------------ - -root@localhost information_schema -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost'; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' - -user_1@localhost db_datadict -CREATE TABLE db_datadict.tb_55 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_55' - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_66 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_66' - -add ALL on db_datadict.* (and select on mysql.user) to user_1 -------------------------------------------------------------- - -root@localhost information_schema -GRANT ALL ON db_datadict.* TO 'user_1'@'localhost' WITH GRANT OPTION; -GRANT SELECT ON mysql.user TO 'user_1'@'localhost'; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_56 ( c1 TEXT ); -ERROR 42000: CREATE command denied to user 'user_1'@'localhost' for table 'tb_56' -USE db_datadict; - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -GRANT ALL PRIVILEGES ON `db_datadict`.* TO 'user_1'@'localhost' WITH GRANT OPTION -GRANT SELECT ON `mysql`.`user` TO 'user_1'@'localhost' -CREATE TABLE tb_57 ( c1 TEXT ); - -revoke privileges from user_1 ------------------------------ - -root@localhost information_schema -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_1'@'localhost'; -FLUSH PRIVILEGES; -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -'user_2'@'localhost' NULL INSERT NO -'user_2'@'localhost' NULL UPDATE NO -'user_3'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections -localhost user_1 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -localhost user_3 N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 -SHOW GRANTS; -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION - -user_1@localhost db_datadict -SELECT * FROM information_schema.user_privileges -WHERE grantee LIKE "%user%" - ORDER BY grantee, table_catalog, privilege_type; -GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE -'user_1'@'localhost' NULL USAGE NO -SELECT * FROM mysql.user WHERE user LIKE "%user%" ORDER BY host, user; -ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 'user' -SHOW GRANTS; -Grants for user_1@localhost -GRANT USAGE ON *.* TO 'user_1'@'localhost' -CREATE TABLE db_datadict.tb_58 ( c1 TEXT ); -USE db_datadict; -ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_datadict' -CREATE TABLE db_datadict.tb_59 ( c1 TEXT ); - -root@localhost information_schema -DROP USER 'user_1'@'localhost'; -DROP USER 'user_2'@'localhost'; -DROP USER 'user_3'@'localhost'; -DROP DATABASE IF EXISTS db_datadict; - -Testcase 3.2.17: Checks on Performance - not here in this script! --------------------------------------------------------------------------------- - -Testcase 3.2.18.1: --------------------------------------------------------------------------------- -USE information_schema; -DESC triggers; -Field Type Null Key Default Extra -TRIGGER_CATALOG varchar(4096) YES NULL -TRIGGER_SCHEMA varchar(64) NO -TRIGGER_NAME varchar(64) NO -EVENT_MANIPULATION varchar(6) NO -EVENT_OBJECT_CATALOG varchar(4096) YES NULL -EVENT_OBJECT_SCHEMA varchar(64) NO -EVENT_OBJECT_TABLE varchar(64) NO -ACTION_ORDER bigint(4) NO 0 -ACTION_CONDITION longtext YES NULL -ACTION_STATEMENT longtext NO NULL -ACTION_ORIENTATION varchar(9) NO -ACTION_TIMING varchar(6) NO -ACTION_REFERENCE_OLD_TABLE varchar(64) YES NULL -ACTION_REFERENCE_NEW_TABLE varchar(64) YES NULL -ACTION_REFERENCE_OLD_ROW varchar(3) NO -ACTION_REFERENCE_NEW_ROW varchar(3) NO -CREATED datetime YES NULL -SQL_MODE longtext NO NULL -DEFINER longtext NO NULL -SHOW CREATE TABLE triggers; -Table Create Table -TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` ( - `TRIGGER_CATALOG` varchar(4096) default NULL, - `TRIGGER_SCHEMA` varchar(64) NOT NULL default '', - `TRIGGER_NAME` varchar(64) NOT NULL default '', - `EVENT_MANIPULATION` varchar(6) NOT NULL default '', - `EVENT_OBJECT_CATALOG` varchar(4096) default NULL, - `EVENT_OBJECT_SCHEMA` varchar(64) NOT NULL default '', - `EVENT_OBJECT_TABLE` varchar(64) NOT NULL default '', - `ACTION_ORDER` bigint(4) NOT NULL default '0', - `ACTION_CONDITION` longtext, - `ACTION_STATEMENT` longtext NOT NULL, - `ACTION_ORIENTATION` varchar(9) NOT NULL default '', - `ACTION_TIMING` varchar(6) NOT NULL default '', - `ACTION_REFERENCE_OLD_TABLE` varchar(64) default NULL, - `ACTION_REFERENCE_NEW_TABLE` varchar(64) default NULL, - `ACTION_REFERENCE_OLD_ROW` varchar(3) NOT NULL default '', - `ACTION_REFERENCE_NEW_ROW` varchar(3) NOT NULL default '', - `CREATED` datetime default NULL, - `SQL_MODE` longtext NOT NULL, - `DEFINER` longtext NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'triggers' -ORDER BY ordinal_position; -COUNT(*) -19 -SELECT * FROM information_schema.columns -WHERE table_schema = 'information_schema' - AND table_name = 'triggers' -ORDER BY ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 4096 12288 NULL NULL utf8 utf8_general_ci varchar(4096) select -NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select -NULL information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9) select -NULL information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select -NULL information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select -NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select - -Testcase 3.2.18.2 + 3.2.18.3: --------------------------------------------------------------------------------- - -Testcase 3.2.19.1: --------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ -DESC parameters; -ERROR 42S02: Unknown table 'parameters' in information_schema - -Testcase 3.2.20.1: --------------------------------------------------------------------------------- - -checking a table that will be implemented later ------------------------------------------------ -DESC referential_constraints; -ERROR 42S02: Unknown table 'referential_constraints' in information_schema - -*** End of Data Dictionary Tests *** --------------------------------------------------------------------------------- -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; diff --git a/mysql-test/suite/funcs_1/r/myisam__load.result b/mysql-test/suite/funcs_1/r/myisam__load.result deleted file mode 100644 index c1b9c89b257..00000000000 --- a/mysql-test/suite/funcs_1/r/myisam__load.result +++ /dev/null @@ -1 +0,0 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); diff --git a/mysql-test/suite/funcs_1/r/myisam_bitdata.result b/mysql-test/suite/funcs_1/r/myisam_bitdata.result index 8d78b70c333..917157fcdae 100644 --- a/mysql-test/suite/funcs_1/r/myisam_bitdata.result +++ b/mysql-test/suite/funcs_1/r/myisam_bitdata.result @@ -1,76 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); -USE test; -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"), -f227 VARBINARY(64), -f228 VARBINARY(27), -f229 VARBINARY(64), -f230 VARBINARY(192), -f231 VARBINARY(192), -f232 VARBINARY(27), -f233 VARBINARY(64), -f234 VARBINARY(192), -f235 char(255) unicode, -f236 char(60) ascii, -f237 char(255) binary, -f238 varchar(0) binary, -f239 varbinary(1000), -f240 varchar(120) unicode, -f241 char(100) unicode, -f242 bit(30) -) engine = myisam; -load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb4.txt' into table tb4 ; NOT YET IMPLEMENTED: bitdata tests -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_cursors.result b/mysql-test/suite/funcs_1/r/myisam_cursors.result index 35b567105f7..9f20e51204b 100644 --- a/mysql-test/suite/funcs_1/r/myisam_cursors.result +++ b/mysql-test/suite/funcs_1/r/myisam_cursors.result @@ -1,84 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); -USE test; -drop table if exists tb1 ; -create table tb1 ( -f1 char, -f2 char binary, -f3 char 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 not null DEFAULT 9.9, -f34 decimal unsigned not null DEFAULT 9.9, -f35 decimal zerofill not null DEFAULT 9.9, -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 = myisam; -Warnings: -Note 1265 Data truncated for column 'f33' at row 1 -Note 1265 Data truncated for column 'f34' at row 1 -Note 1265 Data truncated for column 'f35' at row 1 -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/myisam_tb1.txt' into table tb1 ; NOT YET IMPLEMENTED: cursor tests -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result index 7a16c10859b..aff27fbabc4 100755 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result index e20c32967e9..0057b7ef229 100755 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result index 11b1d3873b3..a85c4347962 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result index e4330211306..0865d77e4f0 100755 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result index 4dda7ef69ae..3e612817200 100755 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result index 33a51a7edbe..b24e222fc4b 100755 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result @@ -1,8 +1,6 @@ --source suite/funcs_1/storedproc/load_sp_tb.inc -------------------------------------------------------------------------------- -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; --source suite/funcs_1/storedproc/cleanup_sp_tb.inc -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result index 6dd56a1e912..08ad956b167 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -362,3 +361,4 @@ select @test_var1, @test_var2, @test_var3; trig1_b trig1_a trig2 drop database trig_db1; drop database trig_db2; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_03.result b/mysql-test/suite/funcs_1/r/myisam_trig_03.result index 3dbfa77b464..42e984245e3 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_03.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_03.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -749,3 +748,4 @@ drop database if exists priv_db; drop user test_yesprivs@localhost; drop user test_noprivs@localhost; drop user test_noprivs; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result index 16d91726e30..4e578888fe5 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -478,3 +477,4 @@ Testcase 3.5.7.17 (see Testcase 3.5.1.1) drop user test_general@localhost; drop user test_general; drop user test_super@localhost; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result index 8a13e91d71d..bab8d0f2ddd 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -497,3 +496,4 @@ Testcase 3.5.8.7: (Disabled as a result of bug _____) drop user test_general@localhost; drop user test_general; drop user test_super@localhost; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_09.result b/mysql-test/suite/funcs_1/r/myisam_trig_09.result index b7a5933e2f7..7cbcd8a6862 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_09.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_09.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -269,3 +268,4 @@ drop trigger trg6c; Testcase 3.5.9.14: (implied in previous tests) ---------------------------------------------- +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result b/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result index 7867fc9f9e2..c991fb67ec1 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb3 ; create table tb3 ( @@ -404,3 +403,4 @@ drop table t1; drop table t2; drop table t3; drop table t4; +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views.result index 6f80aa12097..751c2c2be3b 100644 --- a/mysql-test/suite/funcs_1/r/myisam_views.result +++ b/mysql-test/suite/funcs_1/r/myisam_views.result @@ -1,4 +1,3 @@ -SET @NO_REFRESH = IF( '' = '', 0, 1); USE test; drop table if exists tb2 ; create table tb2 ( @@ -11447,4 +11446,5 @@ DROP VIEW IF EXISTS v1_secondview; DROP VIEW IF EXISTS v2; DROP DATABASE IF EXISTS test2; DROP DATABASE IF EXISTS test3; -DROP DATABASE IF EXISTS test1; +DROP DATABASE test1; +DROP TABLE test.tb2; diff --git a/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc b/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc index 6dafa23f840..b7f7b2cae02 100644 --- a/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc +++ b/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc @@ -12,9 +12,6 @@ let $message= --source suite/funcs_1/storedproc/load_sp_tb.inc; --disable_abort_on_error --enable_query_log -SET @@global.max_heap_table_size=4294967295; -SET @@session.max_heap_table_size=4294967295; - # use the same .inc to cleanup before and after the test --source suite/funcs_1/storedproc/cleanup_sp_tb.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc index a8d52fee0b5..a8d52fee0b5 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_02.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc index 9ffa7d7f66c..9ffa7d7f66c 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_03.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc index e2b9e846b97..e2b9e846b97 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc index 74ef7f4fbed..74ef7f4fbed 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_07.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc index 9a693c5b96f..9a693c5b96f 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_08.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc index 962d9242675..962d9242675 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc index d7b0a370a82..d7b0a370a82 100755..100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc diff --git a/mysql-test/suite/funcs_1/t/charset_collation_1.test b/mysql-test/suite/funcs_1/t/charset_collation_1.test new file mode 100644 index 00000000000..7415220455e --- /dev/null +++ b/mysql-test/suite/funcs_1/t/charset_collation_1.test @@ -0,0 +1,30 @@ +# Tests checking the content of the information_schema tables +# character_sets +# collations +# collation_character_set_applicability +# +# Content variant 1 which should fit to +# Enterprise or Classic builds (binaries provided by MySQL) +# Pushbuilds +# Source builds without "max" +# +# Please read suite/funcs_1/datadict/charset_collation.inc for +# additional information. +# +# Created: +# 2007-12-18 mleich - remove the unstable character_set/collation subtests +# from include/datadict-master.inc +# - create this new test +# + +if (`SELECT EXISTS (SELECT 1 FROM information_schema.collations + WHERE collation_name = 'utf8_general_cs') + OR ( @@version_comment NOT LIKE '%Source%' + AND @@version_comment NOT LIKE '%Enterprise%' + AND @@version_comment NOT LIKE '%Classic%' + AND @@version_comment NOT LIKE '%Pushbuild%')`) +{ + skip Test needs Enterprise, Classic , Pushbuild or Source-without-max build; +} + +--source suite/funcs_1/datadict/charset_collation.inc diff --git a/mysql-test/suite/funcs_1/t/charset_collation_2.test b/mysql-test/suite/funcs_1/t/charset_collation_2.test new file mode 100644 index 00000000000..d4924953b7d --- /dev/null +++ b/mysql-test/suite/funcs_1/t/charset_collation_2.test @@ -0,0 +1,24 @@ +# Tests checking the content of the information_schema tables +# character_sets +# collations +# collation_character_set_applicability +# +# Content variant 2 (compile from source with "max") +# +# Please read suite/funcs_1/datadict/charset_collation.inc for +# additional information. +# +# Created: +# 2007-12-18 mleich - remove the unstable character_set/collation subtests +# from include/datadict-master.inc +# - create this new test +# + +if (`SELECT @@version_comment NOT LIKE '%Source%' + OR NOT EXISTS (SELECT 1 FROM information_schema.collations + WHERE collation_name = 'utf8_general_cs')`) +{ + skip Test needs Source build with "max"; +} + +--source suite/funcs_1/datadict/charset_collation.inc diff --git a/mysql-test/suite/funcs_1/t/charset_collation_3.test b/mysql-test/suite/funcs_1/t/charset_collation_3.test new file mode 100644 index 00000000000..0701b96896f --- /dev/null +++ b/mysql-test/suite/funcs_1/t/charset_collation_3.test @@ -0,0 +1,24 @@ +# Tests checking the content of the information_schema tables +# character_sets +# collations +# collation_character_set_applicability +# +# Content variant 3 which should fit to +# Community and Cluster builds (binaries provided by MySQL) +# +# Please read suite/funcs_1/datadict/charset_collation.inc for +# additional information. +# +# Created: +# 2007-12-18 mleich - remove the unstable character_set/collation subtests +# from include/datadict-master.inc +# - create this new test +# + +if (`SELECT @@version_comment NOT LIKE '%Community%' + AND @@version_comment NOT LIKE '%Cluster%'`) +{ + skip Test needs Community or Cluster build; +} + +--source suite/funcs_1/datadict/charset_collation.inc diff --git a/mysql-test/suite/funcs_1/t/datadict_help_tables_build.test b/mysql-test/suite/funcs_1/t/datadict_help_tables_build.test deleted file mode 100644 index 370fcf0375c..00000000000 --- a/mysql-test/suite/funcs_1/t/datadict_help_tables_build.test +++ /dev/null @@ -1,73 +0,0 @@ -###### suite/funcs_1/t/datadict_help_tables_dev.test ##### -# -# Check the information about the help tables within -# INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS -# -# Variant for use during build tests (non empty help tables) -# -# Creation: -# 2007-08-25 mleich Add this test as compensation for the -# checks removed within datadict_master.inc. -# - -let $c_help_category= `SELECT COUNT(*) FROM mysql.help_category`; -let $c_help_keyword= `SELECT COUNT(*) FROM mysql.help_keyword`; -let $c_help_relation= `SELECT COUNT(*) FROM mysql.help_relation`; -let $c_help_topic= `SELECT COUNT(*) FROM mysql.help_topic`; - -if (`SELECT $c_help_category + $c_help_keyword + $c_help_relation - + $c_help_topic = 0`) -{ - --skip # Test requires non empty help tables = Build test configuration -} - -# We reach this point when we run on a configuration with at least one -# non empty help table. -# 2007-08 MySQL 5.0 row count of the help tables -# help_category help_keyword help_relation help_topic -# 36 395 809 466 -# Let's assume for all help tables that their content never dramatic -# shrinks and do some plausibility checks. -let $limit_help_category = 30; -let $limit_help_keyword = 320; -let $limit_help_relation = 640; -let $limit_help_topic = 380; -if (`SELECT $c_help_category < $limit_help_category - OR $c_help_keyword < $limit_help_keyword - OR $c_help_relation < $limit_help_relation - OR $c_help_topic < $limit_help_topic`) -{ - --echo # The row count within the help tables is unexepected small. - SELECT COUNT(*), 'exepected: >= $limit_help_category' FROM mysql.help_category; - SELECT COUNT(*), 'exepected: >= $limit_help_keyword' FROM mysql.help_keyword; - SELECT COUNT(*), 'exepected: >= $limit_help_relation' FROM mysql.help_relation; - SELECT COUNT(*), 'exepected: >= $limit_help_topic' FROM mysql.help_topic; - --echo # Either the current help table content (build problem? or - --echo # the expected minimum row count within this script is wrong. - --echo # Abort - exit; -} - -# Enforce a static number of rows within the help tables. -let $limit= `SELECT $c_help_category - $limit_help_category`; ---replace_result $limit <number> -eval DELETE FROM mysql.help_category LIMIT $limit; -# -let $limit= `SELECT $c_help_keyword - $limit_help_keyword`; ---replace_result $limit <number> -eval DELETE FROM mysql.help_keyword LIMIT $limit; -# -let $limit= `SELECT $c_help_relation - $limit_help_relation`; ---replace_result $limit <number> -eval DELETE FROM mysql.help_relation LIMIT $limit; -# -let $limit= `SELECT $c_help_topic - $limit_help_topic`; ---replace_result $limit <number> -eval DELETE FROM mysql.help_topic LIMIT $limit; - - ---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 TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%'; -SELECT * FROM INFORMATION_SCHEMA.STATISTICS -WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%'; diff --git a/mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test b/mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test deleted file mode 100644 index 3342fbca4be..00000000000 --- a/mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test +++ /dev/null @@ -1,27 +0,0 @@ -###### suite/funcs_1/t/datadict_help_tables_dev.test ##### -# -# Check the information about the help tables within -# INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS -# -# Variant for use during development (empty help tables) -# -# Creation: -# 2007-08-25 mleich Add this test as compensation for the -# checks removed within datadict_master.inc. -# - -let $c_help_category= `SELECT COUNT(*) FROM mysql.help_category`; -let $c_help_keyword= `SELECT COUNT(*) FROM mysql.help_keyword`; -let $c_help_relation= `SELECT COUNT(*) FROM mysql.help_relation`; -let $c_help_topic= `SELECT COUNT(*) FROM mysql.help_topic`; -if (`SELECT $c_help_category + $c_help_keyword + $c_help_relation - + $c_help_topic > 0`) -{ - --skip # Test requires empty help tables = Development test configuration -} - ---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 TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%'; -SELECT * FROM INFORMATION_SCHEMA.STATISTICS -WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%'; diff --git a/mysql-test/suite/funcs_1/t/innodb__datadict.test b/mysql-test/suite/funcs_1/t/innodb__datadict.test deleted file mode 100644 index 587ab1d6588..00000000000 --- a/mysql-test/suite/funcs_1/t/innodb__datadict.test +++ /dev/null @@ -1,11 +0,0 @@ -#### suite/funcs_1/t/datadict_innodb.test -# ---source include/have_innodb.inc - -let $engine_type= innodb; -# $OTHER_ENGINE_TYPE must be -# - <> $engine_type -# - all time available like MyISAM or MEMORY -let $OTHER_ENGINE_TYPE= MEMORY; - ---source suite/funcs_1/datadict/datadict_master.inc diff --git a/mysql-test/suite/funcs_1/t/innodb__load.test b/mysql-test/suite/funcs_1/t/innodb__load.test deleted file mode 100644 index d03672b31ff..00000000000 --- a/mysql-test/suite/funcs_1/t/innodb__load.test +++ /dev/null @@ -1,47 +0,0 @@ -##### suite/funcs_1/funcs_1/t/innodb__load.test - -# InnoDB tables should be used -# -# 1. Check if InnoDB is available ---source include/have_innodb.inc -# 2. Set $engine_type -let $engine_type= innodb; - -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means all objects have to be (re)created within the current script. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means the current script must not (re)create any object and every -# testscript/case (re)creates only the objects it needs. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb1.inc - --source suite/funcs_1/include/innodb_tb2.inc - --source suite/funcs_1/include/innodb_tb3.inc - --source suite/funcs_1/include/innodb_tb4.inc - - # The database test1 is needed for the VIEW testcases - --disable_warnings - DROP DATABASE IF EXISTS test1; - --enable_warnings - CREATE DATABASE test1; - USE test1; - --source suite/funcs_1/include/innodb_tb2.inc - USE test; - - # These tables are needed for the stored procedure testscases - --source suite/funcs_1/include/sp_tb.inc - - let $run= 0; -} - diff --git a/mysql-test/suite/funcs_1/t/innodb_bitdata.test b/mysql-test/suite/funcs_1/t/innodb_bitdata.test index 24d5f077d96..b178aac598c 100644 --- a/mysql-test/suite/funcs_1/t/innodb_bitdata.test +++ b/mysql-test/suite/funcs_1/t/innodb_bitdata.test @@ -7,28 +7,11 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); +let $message= NOT YET IMPLEMENTED: bitdata tests; +--source include/show_msg80.inc +exit; -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb4.inc - - let $run= 0; -} - +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb4.inc --source suite/funcs_1/bitdata/bitdata_master.test - diff --git a/mysql-test/suite/funcs_1/t/innodb_cursors.test b/mysql-test/suite/funcs_1/t/innodb_cursors.test index 8d77045f2e7..a75e5cbba05 100644 --- a/mysql-test/suite/funcs_1/t/innodb_cursors.test +++ b/mysql-test/suite/funcs_1/t/innodb_cursors.test @@ -7,28 +7,13 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb1.inc +let $message= NOT YET IMPLEMENTED: cursor tests; +--source include/show_msg80.inc +exit; - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb1.inc --source suite/funcs_1/cursors/cursors_master.test diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test index ace4d0cdc37..ace4d0cdc37 100755..100644 --- a/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test +++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_02.test diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test index 3d1d6134b6f..3d1d6134b6f 100755..100644 --- a/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test +++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_03.test diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test index ce061da2299..ce061da2299 100755..100644 --- a/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test +++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_06.test diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test index dd1396e982e..dd1396e982e 100755..100644 --- a/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test +++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_07.test diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test index c8c289c5f49..c8c289c5f49 100755..100644 --- a/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test +++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_08.test diff --git a/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test b/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test index 88a44a263d7..88a44a263d7 100755..100644 --- a/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test +++ b/mysql-test/suite/funcs_1/t/innodb_storedproc_10.test diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_0102.test b/mysql-test/suite/funcs_1/t/innodb_trig_0102.test index edd706b9e5d..c1da8f5448e 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_0102.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_0102.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc - let $run= 0; -} - --source suite/funcs_1/triggers/triggers_0102.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_03.test b/mysql-test/suite/funcs_1/t/innodb_trig_03.test index 5f931e1be47..374bcf59a37 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_03.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_03.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc - let $run= 0; -} - --source suite/funcs_1/triggers/triggers_03.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_0407.test b/mysql-test/suite/funcs_1/t/innodb_trig_0407.test index da8a074bab6..d6b7d4a9942 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_0407.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_0407.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc --source suite/funcs_1/triggers/triggers_0407.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_08.test b/mysql-test/suite/funcs_1/t/innodb_trig_08.test index 05aabe8b0f5..a4ac2db0955 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_08.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_08.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc - let $run= 0; -} - --source suite/funcs_1/triggers/triggers_08.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_09.test b/mysql-test/suite/funcs_1/t/innodb_trig_09.test index ac21142779e..40a0f145ef0 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_09.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_09.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc - let $run= 0; -} - --source suite/funcs_1/triggers/triggers_09.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test b/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test index a507a488ca9..f778b097a1b 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc - let $run= 0; -} - --source suite/funcs_1/triggers/triggers_1011ext.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test b/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test index e99273672cd..57298fd9056 100644 --- a/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test +++ b/mysql-test/suite/funcs_1/t/innodb_trig_frkey.test @@ -7,28 +7,10 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb3.inc +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb3.inc - let $run= 0; -} - --source suite/funcs_1/triggers/trig_frkey.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/innodb_views.test b/mysql-test/suite/funcs_1/t/innodb_views.test index 1a835779762..dcab8ec305b 100644 --- a/mysql-test/suite/funcs_1/t/innodb_views.test +++ b/mysql-test/suite/funcs_1/t/innodb_views.test @@ -7,40 +7,18 @@ # 2. Set $engine_type let $engine_type= innodb; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/innodb_tb2.inc +--disable_warnings +DROP DATABASE IF EXISTS test1; +--enable_warnings +CREATE DATABASE test1; +USE test1; +--source suite/funcs_1/include/innodb_tb2.inc +USE test; -let $run= `SELECT @NO_REFRESH = 0`; -if ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/innodb_tb2.inc - --disable_warnings - DROP DATABASE IF EXISTS test1; - --enable_warnings - CREATE DATABASE test1; - USE test1; - --source suite/funcs_1/include/innodb_tb2.inc - USE test; - -} - --source suite/funcs_1/views/views_master.inc - -# If we created the database in the above loop we now need to drop it -let $run= `SELECT @NO_REFRESH = 0`; -if ($run) -{ - DROP DATABASE IF EXISTS test1; -} +DROP DATABASE test1; +DROP TABLE test.tb2; diff --git a/mysql-test/suite/funcs_1/t/is_basics_mixed.test b/mysql-test/suite/funcs_1/t/is_basics_mixed.test new file mode 100644 index 00000000000..8097c3ab3b1 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_basics_mixed.test @@ -0,0 +1,503 @@ +# suite/funcs_1/t/is_basics_mixed.test +# +# Checks of some basic properties of the INFORMATION_SCHEMA which are not +# related to a certain INFORMATION_SCHEMA table. +# +# This test should not check properties related to storage engines. +# +# 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 + +# $engine_type must point to storage engine which is all time available. +# The fastest engine should be preferred. +let $engine_type = MEMORY; + + +# The INFORMATION_SCHEMA database must exist. +SHOW DATABASES LIKE 'information_schema'; + + +--echo ####################################################################### +--echo # Testcase 3.2.1.20: USE INFORMATION_SCHEMA is supported +--echo ####################################################################### +# Ensure that USE INFORMATION_SCHEMA allows the user to switch to the +# INFORMATION_SCHEMA database, for query purposes only. +# +# Note: The "for query purposes only" is checked in other tests. +# High privileged user (root) +--echo # Switch to connection default +connection default; +USE test; +SELECT DATABASE(); +USE information_schema; +SELECT DATABASE(); +# +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +# Low privileged user +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +SELECT DATABASE(); +USE information_schema; +SELECT DATABASE(); +# +--echo # Switch to connection default and close connection testuser1 +connection default; +disconnect testuser1; +DROP USER 'testuser1'@'localhost'; + + +--echo ####################################################################### +--echo # Testcase TBD1: The INFORMATION_SCHEMA cannot be dropped. +--echo ####################################################################### +--error ER_DBACCESS_DENIED_ERROR +DROP DATABASE information_schema; + + +--echo ####################################################################### +--echo # Testcase TBD2: There cannot be a second database INFORMATION_SCHEMA. +--echo ####################################################################### +--error ER_DBACCESS_DENIED_ERROR +CREATE DATABASE information_schema; + + +--echo ################################################################################## +--echo # Testcase 3.2.1.6+3.2.1.7: No user may create an INFORMATION_SCHEMA table or view +--echo ################################################################################## +# 3.2.1.6 Ensure that no user may create an INFORMATION_SCHEMA base table. +# 3.2.1.7 Ensure that no user may create an INFORMATION_SCHEMA view +# + +# 1. High privileged user (root) +--echo # Switch to connection default (user=root) +connection default; +--source suite/funcs_1/datadict/basics_mixed1.inc + +# 2. High privileged user (testuser1) +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT ALL ON *.* TO testuser1@localhost; +SHOW GRANTS FOR testuser1@localhost; +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +--source suite/funcs_1/datadict/basics_mixed1.inc + +--echo # Switch to connection default (user=root) and close connection testuser1 +connection default; +disconnect testuser1; +DROP USER 'testuser1'@'localhost'; + +--echo ############################################################################### +--echo # Testcase 3.2.1.1+3.2.1.2: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ############################################################################### +# 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. +# 3.2.1.2 Ensure that queries on an INFORMATION_SCHEMA table can accept all +# SELECT statement options and are always correctly evaluated. +# +# Some notes(mleich): +# - Currently here only a subset of select statement options is checked, it's +# still not possible to check here all possible options +# - The content of many INFORMATION_SCHEMA tables is checked in other tests. +# - We work here only with a subset of the columns of information_schema.tables +# because we want have a stable base (all time existing table, stable layout). +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <some_engine> +eval +CREATE TABLE db_datadict.t1_first (f1 BIGINT UNIQUE, f2 BIGINT) +ENGINE = $engine_type; +--replace_result $engine_type <some_engine> +eval +CREATE TABLE db_datadict.t1_second (f1 BIGINT UNIQUE, f2 BIGINT) +ENGINE = $engine_type; + +# SELECT * +--echo # Attention: The protocolling of the next result set is disabled. +--disable_result_log +SELECT * FROM information_schema.tables; +--enable_result_log +# +# SELECT <some columns> + WHERE +--sorted_result +SELECT table_name FROM information_schema.tables +WHERE table_schema = 'db_datadict'; +# +# SELECT string_function(<some column>) + ORDER BY +SELECT LENGTH(table_name) FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +# +# SELECT aggregate_function(<some column>) + WHERE with LIKE +SELECT count(table_name) FROM information_schema.tables +WHERE table_schema LIKE 'db_datadic%'; +# +# SELECT with addition in column list +--sorted_result +SELECT CAST((LENGTH(table_schema) + LENGTH(table_name)) AS DECIMAL(15,1)) +FROM information_schema.tables +WHERE table_schema = 'db_datadict'; +# +# WHERE with IN + LIMIT +SELECT table_name FROM information_schema.tables +WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1; +SELECT table_name FROM information_schema.tables +WHERE table_name IN ('t1_first','t1_second') ORDER BY table_name LIMIT 1,1; +# +# WHERE with AND +SELECT table_name,table_schema AS my_col FROM information_schema.tables +WHERE table_name = 't1_first' AND table_schema = 'db_datadict'; +# +# SELECT HIGH_PRIORITY + WHERE with OR +--sorted_result +SELECT HIGH_PRIORITY table_name AS my_col FROM information_schema.tables +WHERE table_name = 't1_first' OR table_name = 't1_second'; +# +# Empty result set +SELECT 1 AS my_col FROM information_schema.tables +WHERE table_name = 't1_third'; +# +# SELECT INTO USER VARIABLE +SELECT table_name,table_schema INTO @table_name,@table_schema +FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name LIMIT 1; +SELECT @table_name,@table_schema; +# +# SELECT INTO OUTFILE +let $OUTFILE = $MYSQL_TMP_DIR/datadict.out; +--error 0,1 +remove_file $OUTFILE; +--replace_result $OUTFILE <OUTFILE> +eval SELECT table_name,table_schema +INTO OUTFILE '$OUTFILE' +FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' +LINES TERMINATED BY '\n' +FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +cat_file $OUTFILE; +remove_file $OUTFILE; +# +# UNION +--sorted_result +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_first' +UNION ALL +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_second'; +# +# DISTINCT + SUBQUERY +SELECT DISTINCT table_schema FROM information_schema.tables +WHERE table_name IN (SELECT table_name FROM information_schema.tables + WHERE table_schema = 'db_datadict') +ORDER BY table_name; +# +# JOIN +SELECT table_name FROM information_schema.tables t1 +LEFT JOIN information_schema.tables t2 USING(table_name,table_schema) +WHERE t2.table_schema = 'db_datadict' +ORDER BY table_name; +# +# No schema assigned in SELECT + we are in SCHEMA test +# --> The table tables does not exist +USE test; +--error ER_NO_SUCH_TABLE +SELECT * FROM tables; + + +--echo ######################################################################### +--echo # Testcase 3.2.1.17+3.2.1.18 +--echo ######################################################################### +# 3.2.1.17: Ensure that the SELECT privilege is granted TO PUBLIC WITH GRANT +# OPTION on every INFORMATION_SCHEMA table. +# +# 3.2.1.18: Ensure that the CREATE VIEW privilege on an INFORMATION_SCHEMA table +# may be granted to any user. +# +# Note (mleich): The requirements are to some extend outdated. +# Every user is allowed to SELECT on the INFORMATION_SCHEMA. +# But the result sets depend on the privileges of the user. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <some_engine> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT UNIQUE, f2 BIGINT) +ENGINE = $engine_type; +SELECT * FROM db_datadict.t1; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +GRANT CREATE VIEW,SELECT ON db_datadict.* TO testuser1@localhost +WITH GRANT OPTION; +GRANT USAGE ON db_datadict.* TO testuser2@localhost; +FLUSH PRIVILEGES; + +# Check 0: Reveal that GRANT <some privilege> ON INFORMATION_SCHEMA is no +# longer allowed. +--error ER_DBACCESS_DENIED_ERROR +GRANT SELECT on information_schema.* TO testuser1@localhost; +--error ER_DBACCESS_DENIED_ERROR +GRANT CREATE VIEW ON information_schema.* TO 'u_6_401018'@'localhost'; + +# Check 1: Show that a "simple" user (<> root) has the permission to SELECT +# on some INFORMATION_SCHEMA table. +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_schema = 'information_schema' AND table_name = 'tables'; + +# Check 2: Show the privileges of the user on some INFORMATION_SCHEMA tables. +SELECT * FROM information_schema.table_privileges +WHERE table_schema = 'information_schema'; +SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'information_schema'; + +# Check 3: Show the following +# 1. If a simple user (testuser1) has the privilege to create a VIEW +# than this VIEW could use a SELECT on an INFORMATION_SCHEMA table. +# 2. This user (testuser1) is also able to GRANT the SELECT privilege +# on this VIEW to another user (testuser2). +# 3. The other user (testuser2) must be able to SELECT on this VIEW +# but gets a different result set than testuser1. +CREATE VIEW db_datadict.v2 AS +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM information_schema.tables WHERE table_schema = 'db_datadict'; +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM db_datadict.v2; +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM information_schema.tables WHERE table_schema = 'db_datadict'; +GRANT SELECT ON db_datadict.v2 to testuser2@localhost; +# +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM db_datadict.v2; +SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE +FROM information_schema.tables WHERE table_schema = 'db_datadict'; + +# Cleanup +--echo # Switch to connection default and close connections testuser1 and testuser2 +connection default; +disconnect testuser1; +disconnect testuser2; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################### +--echo # Testcase 3.2.1.19 +--echo ######################################################################### +# Ensure that no other privilege on an INFORMATION_SCHEMA table is granted, or +# may be granted, to any user. +# +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; + +# Initial privileges on the INFORMATION_SCHEMA tables (empty result sets) +let $my_select1 = SELECT 'empty result set was expected' AS my_col +FROM information_schema.schema_privileges +WHERE table_schema = 'information_schema'; +let $my_select2 = SELECT 'empty result set was expected' AS my_col +FROM information_schema.table_privileges +WHERE table_schema = 'information_schema'; +let $my_select3 = SELECT 'empty result set was expected' AS my_col +FROM information_schema.column_privileges +WHERE table_schema = 'information_schema'; +eval $my_select1; +eval $my_select2; +eval $my_select3; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT ALTER ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT ALTER ROUTINE ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT CREATE ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT CREATE ROUTINE ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT CREATE TEMPORARY TABLES ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT DELETE ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT DROP ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT EXECUTE ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT INDEX ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT INSERT ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT LOCK TABLES ON information_schema.* +TO 'testuser1'@'localhost'; + +#FIXME: check GRANT on IS +--error ER_DBACCESS_DENIED_ERROR +GRANT UPDATE ON information_schema.* +TO 'testuser1'@'localhost'; + +# Has something accidently changed? +eval $my_select1; +eval $my_select2; +eval $my_select3; + +# Cleanup +DROP USER 'testuser1'@'localhost'; + + +--echo ######################################################################### +--echo # Testcase 3.2.1.16 +--echo ######################################################################### +# 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. +# Note: The plan is to create a new database and objects within it so that +# any INFORMATION_SCHEMA table gets additional rows if possible. +# A user having no rights on the new database and no rights on objects +# must nowhere see tha name of the new database. +--source suite/funcs_1/datadict/basics_mixed3.inc + +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <some_engine> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT NOT NULL, f3 BIGINT, +PRIMARY KEY(f1)) +ENGINE = $engine_type; +CREATE UNIQUE INDEX UIDX ON db_datadict.t1(f3); +CREATE PROCEDURE db_datadict.sproc1() SELECT 'db_datadict'; +CREATE FUNCTION db_datadict.func1() RETURNS INT RETURN 0; +CREATE TRIGGER db_datadict.trig1 BEFORE INSERT ON db_datadict.t1 +FOR EACH ROW SET @aux = 1; +CREATE VIEW db_datadict.v1 AS SELECT * FROM db_datadict.t1; +CREATE VIEW db_datadict.v2 AS SELECT * FROM information_schema.tables; + +--source suite/funcs_1/datadict/basics_mixed3.inc + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT ALL ON test.* TO 'testuser1'@'localhost'; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +--source suite/funcs_1/datadict/basics_mixed3.inc + +# Cleanup +--echo # Switch to connection default and close connections testuser1 and testuser2 +connection default; +disconnect testuser1; +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# Thorough tests checking the requirements above per every INFORMATION_SCHEMA +# table are within other scripts. +# We check here only that the requirement is fulfilled even when using a +# STORED PROCEDURE. +--disable_warnings +DROP PROCEDURE IF EXISTS test.p1; +--enable_warnings +CREATE PROCEDURE test.p1() +INSERT INTO information_schema.tables +SELECT * FROM information_schema.tables LIMIT 1; +--error ER_DBACCESS_DENIED_ERROR +CALL test.p1(); + +DROP PROCEDURE test.p1; +CREATE PROCEDURE test.p1() +UPDATE information_schema.columns SET table_schema = 'garbage'; +--error ER_DBACCESS_DENIED_ERROR +CALL test.p1(); + +DROP PROCEDURE test.p1; +CREATE PROCEDURE test.p1() +DELETE FROM information_schema.schemata; +--error ER_DBACCESS_DENIED_ERROR +CALL test.p1(); + +DROP PROCEDURE test.p1; + + +--echo ######################################################################### +--echo # Testcase 3.2.17.1+3.2.17.2: To be implemented outside of this script +--echo ######################################################################### +# 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). +# 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). +# +# Note(mleich): These requirements are kept here so that they do not get lost. +# The tests are not yet implemented. +# If they are ever developed than they should be stored in other +# scripts. They will have most probably a long runtime because +# the current INFORMATION_SCHEMA implementation has some performance +# issues if a lot of users, privileges and objects are involved. +# diff --git a/mysql-test/suite/funcs_1/t/is_character_sets.test b/mysql-test/suite/funcs_1/t/is_character_sets.test new file mode 100644 index 00000000000..dbb35587eab --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_character_sets.test @@ -0,0 +1,107 @@ +# suite/funcs_1/t/is_character_sets.test +# +# Check the layout of information_schema.character_sets and run some +# functionality related 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. +# + +let $is_table = CHARACTER_SETS; + +# The table INFORMATION_SCHEMA.CHARACTER_SETS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.2.1: INFORMATION_SCHEMA.CHARACTER_SETS layout +--echo ######################################################################### +# 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). +# +eval DESCRIBE information_schema.$is_table; +eval SHOW CREATE TABLE information_schema.$is_table; +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.character_sets is in is_columns_is.test. +# Retrieval of information_schema.character_sets content is in +# charset_collation.inc (sourced by charset_collation_*.test). + + +echo # Testcases 3.2.2.2 and 3.2.2.3 are checked in suite/funcs_1/t/charset_collation*.test; + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.character_sets +SELECT * FROM information_schema.character_sets; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.character_sets SET description = 'just updated'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.character_sets WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.character_sets; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx ON information_schema.character_sets(character_set_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.character_sets DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.character_sets ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.character_sets; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.character_sets RENAME db_datadict.character_sets; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.character_sets +RENAME information_schema.xcharacter_sets; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test b/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test new file mode 100644 index 00000000000..6572d8e5d55 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test @@ -0,0 +1,108 @@ +# suite/funcs_1/t/is_collation_character_set_applicability.test +# +# Check the layout of information_schema.collation_character_set_applicability +# and some functionality realted 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. +# + +let $is_table = COLLATION_CHARACTER_SET_APPLICABILITY; + +# The table INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.4.1: INFORMATION_SCHEMA.CHARACTER_SET_APPLICABILITY layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.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). +# +eval DESCRIBE information_schema.$is_table; +eval SHOW CREATE TABLE information_schema.$is_table; +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.collation_character_set_applicability is in +# is_columns_is.test. +# Retrieval of information_schema.collation_character_set_applicability +# content is in charset_collation.inc (sourced by charset_collation_*.test). + +echo # Testcases 3.2.4.2 and 3.2.4.3 are checked in suite/funcs_1/t/charset_collation*.test; + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.collation_character_set_applicability +SELECT * FROM information_schema.collation_character_set_applicability; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.collation_character_set_applicability +SET collation_name = 'big6_chinese_ci' WHERE character_set_name = 'big6'; +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.collation_character_set_applicability +SET character_set_name = 't_4711'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.collation_character_set_applicability; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.collation_character_set_applicability; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx +ON information_schema.collation_character_set_applicability(collation_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collation_character_set_applicability ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.collation_character_set_applicability; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collation_character_set_applicability +RENAME db_datadict.collation_character_set_applicability; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collation_character_set_applicability +RENAME information_schema.xcollation_character_set_applicability; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_collations.test b/mysql-test/suite/funcs_1/t/is_collations.test new file mode 100644 index 00000000000..e807b3cb028 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_collations.test @@ -0,0 +1,114 @@ +# suite/funcs_1/t/is_collations.test +# +# Check the layout of information_schema.collations and some +# functionality related 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. +# + +let $is_table = COLLATIONS; + +# The table INFORMATION_SCHEMA.COLLATIONS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.3.1: INFORMATION_SCHEMA.COLLATIONS layout +--echo ######################################################################### +# 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). +# +eval DESCRIBE information_schema.$is_table; +eval SHOW CREATE TABLE information_schema.$is_table; +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.collations is in is_columns_is.test. +# Retrieval of information_schema.collations content is in +# charset_collation.inc (sourced by charset_collation_*.test). + +echo # Testcases 3.2.3.2 and 3.2.3.3 are checked in suite/funcs_1/t/charset_collation*.test; + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.collations +SELECT * FROM information_schema.collations; +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.collations + (collation_name,character_set_name,id,is_default,is_compiled,sortlen) +VALUES ( 'cp1251_bin', 'cp1251',50, '', '',0); + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.collations SET description = 'just updated'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.collations WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.collations; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx ON information_schema.collations(character_set_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collations DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collations ADD f1 INT; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collations ENABLE KEYS; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.collations; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collations RENAME db_datadict.collations; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.collations +RENAME information_schema.xcollations; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_column_privileges.test b/mysql-test/suite/funcs_1/t/is_column_privileges.test new file mode 100644 index 00000000000..8f125051060 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_column_privileges.test @@ -0,0 +1,351 @@ +# suite/funcs_1/t/is_column_privileges.test +# +# Check the layout of information_schema.column_privileges and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = COLUMN_PRIVILEGES; + +# The table INFORMATION_SCHEMA.COLUMN_PRIVILEGES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.5.1: INFORMATION_SCHEMA.COLUMN_PRIVILEGES layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns +# about information_schema.column_privileges is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name, column_name, privilege_type +FROM information_schema.column_privileges WHERE table_catalog IS NOT NULL; + + +--echo ###################################################################### +--echo # Testcase 3.2.5.2+3.2.5.3+3.2.5.4: +--echo # INFORMATION_SCHEMA.COLUMN_PRIVILEGES accessible information +--echo ###################################################################### +# 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. +# 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. +# 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. +# +# Note: Check of content within information_schema.column_privileges about the +# databases information_schema, mysql and test is in +# is_column_privileges_is_mysql_test.test +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 INT, f2 DECIMAL, f3 TEXT) +ENGINE = $other_engine_type; + +USE db_datadict; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT INSERT(f1) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT UPDATE(f2) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT(f2) ON db_datadict.t1 TO 'testuser2'@'localhost'; +GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'; +GRANT SELECT(f3) ON db_datadict.t1 TO 'testuser3'@'localhost'; + +GRANT INSERT, SELECT ON db_datadict.t1 TO 'testuser3'@'localhost' +WITH GRANT OPTION; +GRANT ALL ON db_datadict.* TO 'testuser3'@'localhost'; + +let $select= SELECT * FROM information_schema.column_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +eval $select; + +# Note: WITH GRANT OPTION applies to all privileges on this table +# and not to the columns mentioned only. +GRANT UPDATE(f3) ON db_datadict.t1 TO 'testuser1'@'localhost' +WITH GRANT OPTION; + +eval $select; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +eval $select; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +eval $select; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , db_datadict); + +--echo # FIXME: Is it correct that granted TABLES do not occur in COLUMN_PRIVILEGES? +SELECT * FROM information_schema.table_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee,table_schema,table_name,privilege_type; +SELECT * FROM information_schema.schema_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee,table_schema,privilege_type; +eval $select; +GRANT SELECT(f1, f3) ON db_datadict.t1 TO 'testuser2'@'localhost'; + +--echo # FIXME: Is it intended that *my* grants to others are *NOT* shown here? +eval $select; + +--echo # Switch to connection testuser2 (user=testuser2) +connection testuser2; +eval $select; + +# Cleanup +--echo # Switch to connection default and close connections testuser1,testuser2,testuser3 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; + + +--echo ################################################################################ +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMN_PRIVILEGES modifications +--echo ################################################################################ +# 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. +# 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. +# 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. +# +# Note (mleich): +# The MySQL privilege system allows to GRANT objects before they exist. +# (Exception: Grant privileges for columns of not existing tables/views.) +# There is also no migration of privileges if objects (tables, views, columns) +# are moved to other databases (tables only), renamed or dropped. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.my_table (f1 BIGINT, f2 CHAR(10), f3 DATE) +ENGINE = $engine_type; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT ALL ON test.* TO 'testuser1'@'localhost'; + +let $my_select = SELECT * FROM information_schema.column_privileges +WHERE table_name = 'my_table' +ORDER BY grantee, table_schema,table_name,column_name,privilege_type; +let $my_show = SHOW GRANTS FOR 'testuser1'@'localhost'; +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +eval $my_select; +eval $my_show; + +--echo # Switch to connection default +connection default; +GRANT SELECT (f1,f3) ON db_datadict.my_table TO 'testuser1'@'localhost'; +eval $my_select; +eval $my_show; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select; +eval $my_show; + +--echo # Switch to connection default +connection default; +ALTER TABLE db_datadict.my_table DROP COLUMN f3; +GRANT UPDATE (f1) ON db_datadict.my_table TO 'testuser1'@'localhost'; +eval $my_select; +eval $my_show; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select; +eval $my_show; +--error ER_BAD_FIELD_ERROR +SELECT f1, f3 FROM db_datadict.my_table; + +--echo # Switch to connection default +connection default; +ALTER TABLE db_datadict.my_table CHANGE COLUMN f1 my_col BIGINT; +eval $my_select; +eval $my_show; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select; +eval $my_show; + +--echo # Switch to connection default +connection default; +DROP TABLE db_datadict.my_table; +eval $my_select; +eval $my_show; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select; +eval $my_show; + +--echo # Switch to connection default +connection default; +REVOKE ALL ON db_datadict.my_table FROM 'testuser1'@'localhost'; +eval $my_select; +eval $my_show; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select; +eval $my_show; + +--echo # Switch to connection default and close connection testuser1 +connection default; +disconnect testuser1; +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT) +ENGINE = $engine_type; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost'; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.column_privileges +SELECT * FROM information_schema.column_privileges; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.column_privileges SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.column_privileges WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.column_privileges; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_tables +ON information_schema.column_privileges(table_schema); +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.column_privileges ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.column_privileges; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.column_privileges +RENAME db_datadict.column_privileges; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.column_privileges +RENAME information_schema.xcolumn_privileges; + +# Cleanup +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; + diff --git a/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test new file mode 100644 index 00000000000..3ed8597e309 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test @@ -0,0 +1,58 @@ +# suite/funcs_1/t/is_column_privileges_is_mysql_test.test +# +# Check the content of information_schema.column_privileges about the databases +# information_schema and mysql visible to high and low privileged users. +# +# 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. +# +# + +--echo ############################################################################## +--echo # Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information +--echo ############################################################################## +# 3.2.9.2 Ensure that the table shows the relevant information for every +# database on which the current user or PUBLIC have privileges. +# 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. +# +--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.column_privileges +WHERE table_schema IN ('information_schema','mysql','test') +ORDER BY table_schema, table_name, column_name; +let $my_show1 = SHOW DATABASES LIKE 'information_schema'; +let $my_show2 = SHOW DATABASES LIKE 'mysql'; +let $my_show3 = SHOW DATABASES LIKE 'test'; +eval $my_select; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +--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; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +# Cleanup +--echo # Switch to connection default and close connection testuser1 +connection default; +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_columns.test b/mysql-test/suite/funcs_1/t/is_columns.test new file mode 100644 index 00000000000..385de733ac3 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns.test @@ -0,0 +1,444 @@ +# suite/funcs_1/t/is_columns.test +# +# Check the layout of information_schema.columns and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on its content. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = COLUMNS; + +# The table INFORMATION_SCHEMA.COLUMNS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.6.1: INFORMATION_SCHEMA.COLUMNS layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.columns is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name, column_name +FROM information_schema.columns WHERE table_catalog IS NOT NULL; + + +--echo ############################################################################### +--echo # Testcase 3.2.6.2 + 3.2.6.3: INFORMATION_SCHEMA.COLUMNS accessible information +--echo ############################################################################### +# 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. +# 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. +# +# Note: Check of content within information_schema.columns about +# databases is in +# mysql is_columns_mysql.test +# information_schema is_columns_is.test +# test% is_columns_<engine>.test +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; + +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.t1 + (f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT AUTO_INCREMENT, + UNIQUE INDEX MUL_IDX(f1,f3), PRIMARY KEY (f4)) +ENGINE = $other_engine_type; +CREATE VIEW db_datadict.v1 AS SELECT 1 AS f1, 1 AS f2; +GRANT SELECT(f1, f2) ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT(f2) ON db_datadict.v1 TO 'testuser1'@'localhost'; + +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.t2 +(f1 CHAR(10), f2 TEXT, f3 DATE, f4 INT, PRIMARY KEY (f1,f4)) +ENGINE = $other_engine_type; +GRANT INSERT(f1, f2) ON db_datadict.t2 TO 'testuser2'@'localhost'; + +let $my_select= SELECT * FROM information_schema.columns + WHERE table_schema = 'db_datadict' +ORDER BY table_schema, table_name, ordinal_position; +let $my_show1 = SHOW COLUMNS FROM db_datadict.t1; +let $my_show2 = SHOW COLUMNS FROM db_datadict.t2; +let $my_show3 = SHOW COLUMNS FROM db_datadict.v1; + +# Point of view of user root. +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval $my_select; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +--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/datadict_bug_12777.inc +eval $my_select; +eval $my_show1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_show2; +eval $my_show3; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval $my_select; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_show1; +eval $my_show2; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_show3; + +--echo # Switch to connection default and close connections testuser1, testuser2 +connection default; +disconnect testuser1; +disconnect testuser2; + +# Cleanup +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE IF EXISTS db_datadict; + + +--echo ############################################################################### +--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.COLUMNS modifications +--echo ############################################################################### +# 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. +# 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. +# 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 TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT table_name FROM information_schema.columns +WHERE table_name LIKE 't1_my_table%'; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_my_table (f1 CHAR(12)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $engine_type; +# Settings used in CREATE TABLE must be visible in information_schema.columns. +--vertical_results +SELECT * FROM information_schema.columns +WHERE table_name = 't1_my_table'; +--horizontal_results +# +# Check modification of TABLE_NAME +SELECT table_name FROM information_schema.columns +WHERE table_name LIKE 't1_my_table%'; +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.columns +WHERE table_name LIKE 't1_my_table%'; +# +# Check modification of TABLE_SCHEMA +SELECT table_schema,table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modification of COLUMN_NAME +SELECT table_name, column_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12); +SELECT table_name, column_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modification of COLUMN size +SELECT table_name, column_name, character_maximum_length, + character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(20); +SELECT table_name, column_name, character_maximum_length, + character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modification of COLUMN type +SELECT table_name, column_name, character_maximum_length, + character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col VARCHAR(20); +SELECT table_name, column_name, character_maximum_length, + character_octet_length, column_type +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modify COLUMN DEFAULT +SELECT table_name, column_name, column_default +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) DEFAULT 'hello'; +SELECT table_name, column_name, column_default +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modify IS_NULLABLE +SELECT table_name, column_name, is_nullable +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) NOT NULL; +SELECT table_name, column_name, is_nullable +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modify COLLATION +SELECT table_name, column_name, collation_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) COLLATE 'latin1_general_cs'; +SELECT table_name, column_name, collation_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modify CHARACTER SET +SELECT table_name, column_name, character_maximum_length, + character_octet_length, character_set_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) CHARACTER SET utf8; +SELECT table_name, column_name, character_maximum_length, + character_octet_length, character_set_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check modify COLUMN_COMMENT +SELECT table_name, column_name, column_comment +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN first_col CHAR(10) COMMENT 'Hello'; +SELECT table_name, column_name, column_comment +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check ADD COLUMN +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +ADD COLUMN second_col CHAR(10); +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check switch ordinal position of column +SELECT table_name, column_name, ordinal_position +FROM information_schema.columns +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +ALTER TABLE db_datadict.t1_my_tablex +MODIFY COLUMN second_col CHAR(10) FIRST; +SELECT table_name, column_name, ordinal_position +FROM information_schema.columns +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +# +# Check DROP COLUMN +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN first_col; +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check set COLUMN UNIQUE +SELECT table_name, column_name, column_key +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +ADD UNIQUE INDEX IDX(second_col); +SELECT table_name, column_name, column_key +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP TABLE +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name, column_name +FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check a VIEW +CREATE VIEW test.t1_my_tablex +AS SELECT 1 AS "col1", 'A' collate latin1_german1_ci AS "col2"; +--vertical_results +SELECT * FROM information_schema.columns +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +--horizontal_results +DROP VIEW test.t1_my_tablex; +SELECT table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP SCHEMA +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = $engine_type AS +SELECT 1; +SELECT table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.columns +WHERE table_name = 't1_my_tablex'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS test.t1; +--enable_warnings +CREATE DATABASE db_datadict; +CREATE TABLE test.t1 (f1 BIGINT); + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.columns (table_schema,table_name,column_name) +VALUES('test','t1', 'f2'); +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.columns (table_schema,table_name,column_name) +VALUES('test','t2', 'f1'); + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.columns SET table_name = 't4' WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.columns WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.columns; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i3 ON information_schema.columns(table_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.columns ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.columns; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.columns RENAME db_datadict.columns; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.columns RENAME information_schema.xcolumns; + +# Cleanup +DROP TABLE test.t1; +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_columns_innodb.test b/mysql-test/suite/funcs_1/t/is_columns_innodb.test new file mode 100644 index 00000000000..04b9f8354e4 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns_innodb.test @@ -0,0 +1,21 @@ +# suite/funcs_1/t/is_columns_innodb.test +# +# Check the content of information_schema.columns about tables within +# the databases created by the user. +# Variant for storage engine InnoDB +# +# 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 include/have_innodb.inc +let $engine_type= InnoDB; +--source suite/funcs_1/datadict/datadict_load.inc + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%'; +--source suite/funcs_1/datadict/columns.inc + +--source suite/funcs_1/include/cleanup.inc diff --git a/mysql-test/suite/funcs_1/t/is_columns_is.test b/mysql-test/suite/funcs_1/t/is_columns_is.test new file mode 100644 index 00000000000..41a7d180be8 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns_is.test @@ -0,0 +1,19 @@ +# suite/funcs_1/t/is_columns_is.test +# +# Check the content of information_schema.columns about tables within +# the database information_schema. +# +# Note: The INFORMATION_SCHEMA table PROFILING is optional (exists in MySQL +# Community version only) and therefore we exclude it from retrieval. +# +# 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. +# + +let $my_where = WHERE table_schema = 'information_schema' +AND table_name <> 'profiling'; +# --source suite/funcs_1/datadict/datadict.pre +--source suite/funcs_1/datadict/columns.inc + diff --git a/mysql-test/suite/funcs_1/t/is_columns_memory.test b/mysql-test/suite/funcs_1/t/is_columns_memory.test new file mode 100644 index 00000000000..6cbf3b298b4 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns_memory.test @@ -0,0 +1,21 @@ +# suite/funcs_1/t/is_columns_memory.test +# +# Check the content of information_schema.columns about tables within +# the databases created by the user. +# Variant for storage engine MEMORY +# +# 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. +# + +let $engine_type= MEMORY; +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +--source suite/funcs_1/datadict/datadict_load.inc + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%'; +--source suite/funcs_1/datadict/columns.inc + +--source suite/funcs_1/include/cleanup.inc diff --git a/mysql-test/suite/funcs_1/t/is_columns_myisam.test b/mysql-test/suite/funcs_1/t/is_columns_myisam.test new file mode 100644 index 00000000000..d98cd0347c6 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns_myisam.test @@ -0,0 +1,21 @@ +# suite/funcs_1/t/is_columns_myisam.test +# +# Check the content of information_schema.columns about tables within +# the databases created by the user. +# Variant for storage engine MyISAM +# +# 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. +# + +let $engine_type= MyISAM; +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +--source suite/funcs_1/datadict/datadict_load.inc + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%'; +--source suite/funcs_1/datadict/columns.inc + +--source suite/funcs_1/include/cleanup.inc diff --git a/mysql-test/suite/funcs_1/t/is_columns_mysql.test b/mysql-test/suite/funcs_1/t/is_columns_mysql.test new file mode 100644 index 00000000000..26539d0c8e0 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns_mysql.test @@ -0,0 +1,13 @@ +# suite/funcs_1/t/is_columns_mysql.test +# +# Check the content of information_schema.columns about tables within +# the database mysql. +# +# 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. +# + +let $my_where = WHERE table_schema = 'mysql'; +--source suite/funcs_1/datadict/columns.inc diff --git a/mysql-test/suite/funcs_1/t/is_columns_ndb.test b/mysql-test/suite/funcs_1/t/is_columns_ndb.test new file mode 100644 index 00000000000..960e5f079bb --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_columns_ndb.test @@ -0,0 +1,33 @@ +# suite/funcs_1/t/is_columns_ndb.test +# +# Check the content of information_schema.columns about tables within +# the databases created by the user. +# Variant for storage engine ndb +# +# 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 include/have_ndb.inc +let $engine_type= ndb; +--source suite/funcs_1/datadict/datadict_load.inc + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%'; +--source suite/funcs_1/datadict/columns.inc + +# This test runs with a different set of tables. +# --source suite/funcs_1/include/cleanup.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; diff --git a/mysql-test/suite/funcs_1/t/is_key_column_usage.test b/mysql-test/suite/funcs_1/t/is_key_column_usage.test new file mode 100644 index 00000000000..219277c8645 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_key_column_usage.test @@ -0,0 +1,344 @@ +# suite/funcs_1/t/is_key_column_usage.test +# +# Check the layout of information_schema.key_column_usage and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +# let $other_engine_type = MyISAM; + +let $is_table = KEY_COLUMN_USAGE; + +# The table INFORMATION_SCHEMA.KEY_COLUMN_USAGE must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.7.1: INFORMATION_SCHEMA.KEY_COLUMN_USAGE layout +--echo ######################################################################### +# 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 +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.key_column_usage is in is_columns_is.test. + +# Show that CONSTRAINT_CATALOG and TABLE_CATALOG are always NULL. +SELECT constraint_catalog, constraint_schema, constraint_name, table_catalog, + table_schema, table_name, column_name +FROM information_schema.key_column_usage +WHERE constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL; + + +--echo ######################################################################################## +--echo # Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information +--echo ######################################################################################## +# 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. +# 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; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; + +USE db_datadict; + +--replace_result $engine_type <engine_type> +eval +CREATE TABLE t1_1 + (f1 INT NOT NULL, PRIMARY KEY(f1), + f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; +GRANT SELECT ON t1_1 to 'testuser1'@'localhost'; + +--replace_result $engine_type <engine_type> +eval +CREATE TABLE t1_2 + (f1 INT NOT NULL, PRIMARY KEY(f1), + f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; +GRANT SELECT ON t1_2 to 'testuser2'@'localhost'; +#FIXME: add foreign keys + +let $select= SELECT * FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_%' +ORDER BY constraint_catalog, constraint_schema, constraint_name, + table_catalog, table_schema, table_name, ordinal_position; + +# show view of user root +eval $select; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +eval $select; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +eval $select; + +# Cleanup +--echo # Switch to connection default and close connections testuser1, testuser2 +connection default; +disconnect testuser1; +disconnect testuser2; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP TABLE t1_1; +DROP TABLE t1_2; +DROP DATABASE IF EXISTS db_datadict; + + +--echo ######################################################################################## +--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.KEY_COLUMN_USAGE modifications +--echo ######################################################################################## +# 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. +# 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. +# 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; +DROP TABLE IF EXISTS test.t1_my_table; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_my_table + (f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $engine_type; +# Settings used in CREATE TABLE must be visible +# in information_schema.key_column_usage. +--vertical_results +SELECT * FROM information_schema.key_column_usage +WHERE table_name = 't1_my_table'; +--horizontal_results +# +# Check modification of TABLE_NAME +SELECT DISTINCT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT DISTINCT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +# +# Check modification of TABLE_SCHEMA +SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# +# Check modification of COLUMN_NAME +SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12); +SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +# +# Note: The size of the column list and the not very selective qualification +# is intended. I want to see that the schema names are equal and +# all records about 't1_my_tablex'. +let $my_select = SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, + table_name, ordinal_position; +# +# Check ADD INDEX being not UNIQUE (does not show up in key_column_usage) +eval $my_select; +CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2); +eval $my_select; +DROP INDEX f2 ON db_datadict.t1_my_tablex; +# +# Check ADD UNIQUE INDEX without name explicit assigned +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2); +eval $my_select; +DROP INDEX f2 ON db_datadict.t1_my_tablex; +# +# Check ADD UNIQUE INDEX with name explicit assigned +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2); +eval $my_select; +DROP INDEX my_idx ON db_datadict.t1_my_tablex; +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,first_col); +eval $my_select; +# +# Check DROP COLUMN +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN first_col; +eval $my_select; +# +# Check impact of DROP TABLE +SELECT table_name, column_name +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name, column_name +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# +# No UNIQUE CONSTRAINT -> no entry in key_column_usage +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = $engine_type AS +SELECT 1 AS f1; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# UNIQUE CONSTRAINT -> entry in key_column_usage +ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1); +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP SCHEMA +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS db_datadict.t1; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.key_column_usage + (constraint_schema, constraint_name, table_name) +VALUES ( 'mysql', 'primary', 'db'); +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.key_column_usage +SELECT * FROM information_schema.key_column_usage; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.key_column_usage +SET table_name = 'db1' WHERE constraint_name = 'primary'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.key_column_usage WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.key_column_usage; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i3 ON information_schema.key_column_usage(table_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.key_column_usage ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.key_column_usage; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.key_column_usage +RENAME db_datadict.key_column_usage; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.key_column_usage +RENAME information_schema.xkey_column_usage; + +# Cleanup +DROP TABLE db_datadict.t1; +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_routines.test b/mysql-test/suite/funcs_1/t/is_routines.test new file mode 100644 index 00000000000..5f015b8624b --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_routines.test @@ -0,0 +1,471 @@ +# suite/funcs_1/t/is_routines.test +# +# Check the layout of information_schema.routines and the impact of +# CREATE/ALTER/DROP PROCEDURE/FUNCTION ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing routines (there are no +# in the moment) within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = ROUTINES; + +# The table INFORMATION_SCHEMA.TABLES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.8.1: INFORMATION_SCHEMA.ROUTINES layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +USE test; +--disable_warnings +DROP PROCEDURE IF EXISTS sp_for_routines; +DROP FUNCTION IF EXISTS function_for_routines; +--enable_warnings +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; + +# Show that the column values of +# ROUTINE_CATALOG, EXTERNAL_NAME, EXTERNAL_LANGUAGE, SQL_PATH are always NULL +# and +# ROUTINE_BODY, PARAMETER_STYLE are 'SQL' +# and +# SPECIFIC_NAME = ROUTINE_NAME. +SELECT specific_name,routine_catalog,routine_schema,routine_name,routine_type, + routine_body,external_name,external_language,parameter_style,sql_path +FROM information_schema.routines +WHERE routine_catalog IS NOT NULL OR external_name IS NOT NULL + OR external_language IS NOT NULL OR sql_path IS NOT NULL + OR routine_body <> 'SQL' OR parameter_style <> 'SQL' + OR specific_name <> routine_name; + +DROP PROCEDURE sp_for_routines; +DROP FUNCTION function_for_routines; + + +--echo ################################################################################ +--echo # Testcase 3.2.8.2 + 3.2.8.3: INFORMATION_SCHEMA.ROUTINES accessible information +--echo ################################################################################ +# 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. +# 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; +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT) +ENGINE = $other_engine_type; +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; +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT) +ENGINE = $other_engine_type; +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 ;// + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + + +GRANT SELECT ON db_datadict_2.* TO 'testuser1'@'localhost'; +GRANT EXECUTE ON db_datadict_2.* TO 'testuser1'@'localhost'; + +GRANT EXECUTE ON db_datadict.* TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser2'@'localhost'; + +GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 +TO 'testuser2'@'localhost'; +GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost'; +FLUSH PRIVILEGES; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT * FROM information_schema.routines; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT * FROM information_schema.routines; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT * FROM information_schema.routines; + +# Cleanup +--echo # Switch to connection default and close connections testuser1,testuser2,testuser3 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; + +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; + +USE test; +DROP DATABASE db_datadict; +DROP DATABASE db_datadict_2; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.ROUTINES modifications +--echo ######################################################################### +# 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. +# 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. +# 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. +# +# Some more tests are in t/information_schema_routines.test which exists +# in MySQL 5.1 and up only. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; +USE db_datadict; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +--vertical_results +--replace_column 16 <created> 17 <modified> +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +--horizontal_results + +ALTER PROCEDURE sp_for_routines SQL SECURITY INVOKER; +ALTER FUNCTION function_for_routines COMMENT 'updated comments'; +--vertical_results +--replace_column 16 <created> 17 <modified> +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +--horizontal_results + +DROP PROCEDURE sp_for_routines; +DROP FUNCTION function_for_routines; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; + +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +--vertical_results +--replace_column 16 <created> 17 <modified> +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +--horizontal_results +use test; +DROP DATABASE db_datadict; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; + + +--echo ######################################################################### +--echo # 3.2.8.4: INFORMATION_SCHEMA.ROUTINES routine body too big for +--echo # ROUTINE_DEFINITION column +--echo ######################################################################### +# 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; +# +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.res_6_408004_1 + (f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR) +ENGINE = $other_engine_type; +INSERT INTO db_datadict.res_6_408004_1 +VALUES ('abc', 98765 , 99999999 , 98765, 10); +# +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.res_6_408004_2 + (f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR) +ENGINE = $other_engine_type; +INSERT INTO db_datadict.res_6_408004_2 +VALUES ('abc', 98765 , 99999999 , 98765, 10); + +--echo # Checking the max. possible length of (currently) 4 GByte is not +--echo # in this environment here. + +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 db_datadict.sp_6_408004 (); +SELECT * FROM db_datadict.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 + +# Cleanup +DROP DATABASE db_datadict; +# ---------------------------------------------------------------------------------------------- + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +USE db_datadict; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +USE test; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.routines (routine_name, routine_type ) +VALUES ('p2', 'procedure'); + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.routines SET routine_name = 'p2' +WHERE routine_body = 'sql'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.routines ; +# +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.routines ; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i7 ON information_schema.routines (routine_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.routines ADD f1 INT; +# +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.routines DISCARD TABLESPACE; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.routines ; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.routines RENAME db_datadict.routines; +# +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.routines RENAME information_schema.xroutines; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_schema_privileges.test b/mysql-test/suite/funcs_1/t/is_schema_privileges.test new file mode 100644 index 00000000000..4eb4a273362 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_schema_privileges.test @@ -0,0 +1,336 @@ +# suite/funcs_1/t/is_schema_privileges.test +# +# Check the layout of information_schema.schema_privileges and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing schemas +# information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = SCHEMA_PRIVILEGES; + +# The table INFORMATION_SCHEMA.SCHEMA_PRIVILEGES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.15.1: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES layout +--echo ######################################################################### +# 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) +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns +# about information_schema.schema_privileges is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT GRANTEE, TABLE_CATALOG, TABLE_SCHEMA, PRIVILEGE_TYPE +FROM information_schema.schema_privileges WHERE table_catalog IS NOT NULL; + + +--echo ############################################################################### +--echo # Testcase 3.2.15.2-3.2.15.4 INFORMATION_SCHEMA.SCHEMA_PRIVILEGES accessibility +--echo ############################################################################### +# 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. +# FIXME: Why is "or has been granted by the current user" invisible? +# 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. +# 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. +# +# Note: Check of content within information_schema.schema_privileges about the +# databases information_schema, mysql and test is in +# is_schema_privileges_is_mysql_test. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict_1; +DROP DATABASE IF EXISTS db_datadict_2; +DROP DATABASE IF EXISTS db_datadict_3; +--enable_warnings +CREATE DATABASE db_datadict_1; +CREATE DATABASE db_datadict_2; +CREATE DATABASE db_datadict_3; +eval +CREATE TABLE db_datadict_2.t1(f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; + +GRANT INSERT ON db_datadict_1.* TO 'testuser1'@'localhost'; +GRANT INSERT ON db_datadict_2.t1 TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict_4.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT ON db_datadict_3.* TO 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict_1.* TO 'testuser2'@'localhost'; + +let $my_select = SELECT * FROM information_schema.schema_privileges +WHERE table_schema LIKE 'db_datadict%' +ORDER BY grantee,table_schema,privilege_type; +let $show_testuser1 = SHOW GRANTS FOR 'testuser1'@'localhost'; +let $show_testuser2 = SHOW GRANTS FOR 'testuser2'@'localhost'; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +GRANT SELECT ON db_datadict_4.* TO 'testuser2'@'localhost'; +--echo # Root granted INSERT db_datadict_1 to me -> visible +--echo # Root granted SELECT db_datadict_1 to testuser2 -> invisible +--echo # Root granted INSERT db_datadict_2.t1 (no schema-level priv!) +--echo # but not db_datadict_2 to me -> invisible +--echo # Root granted SELECT db_datadict_3. to testuser2 but not to me -> invisible +--echo # Root granted SELECT db_datadict_4. to me -> visible +--echo # I granted SELECT db_datadict_4. to testuser2 -> invisible (reality), visible(requirement) +--echo # FIXME +eval $my_select; +eval $show_testuser1; +--error ER_DBACCESS_DENIED_ERROR +eval $show_testuser2; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , test); +--echo # Root granted SELECT db_datadict_1 to me -> visible +--echo # Root granted INSERT db_datadict_1 to testuser1 -> invisible +--echo # Root granted INSERT db_datadict_2.t1 but not db_datadict_1 to testuser1 -> invisible +--echo # Root granted SELECT db_datadict_3. to me -> visible +--echo # testuser1 granted SELECT db_datadict_4. to me -> visible +eval $my_select; +--error ER_DBACCESS_DENIED_ERROR +eval $show_testuser1; +eval $show_testuser2; + +--echo # Switch to connection default and close connections testuser1 and testuser2 +connection default; +disconnect testuser1; +disconnect testuser2; +eval $my_select; +eval $show_testuser1; +eval $show_testuser2; + +# Cleanup +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE db_datadict_1; +DROP DATABASE db_datadict_2; +DROP DATABASE db_datadict_3; + + +--echo ################################################################################ +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMA_PRIVILEGES modifications +--echo ################################################################################ +# 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. +# 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. +# 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. +# +# Note (mleich): +# The MySQL privilege system allows to GRANT objects before they exist. +# (Exception: Grant privileges for columns of not existing tables/views.) +# There is also no migration of privileges if objects (tables, views, columns) +# are moved to other databases (tables only), renamed or dropped. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--error 0,ER_CANNOT_USER +DROP USER 'the_user'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON test.* TO 'testuser1'@'localhost'; + +let $my_select = SELECT * FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict' +ORDER BY grantee,table_schema,privilege_type; + +############ Check grant SCHEMA +eval $my_select; +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +eval $my_select; +--echo # Switch to connection default +connection default; +GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost'; +eval $my_select; +--echo # Switch to connection testuser1 +eval $my_select; +############ Check RENAME SCHEMA +# Implement this if RENAME SCHEMA is again available. +# Note(mleich): I expect that RENAME has no impact on the result sets, because +# the schema_name is not migrated. +# --echo # Switch to connection default +# connection default; +# RENAME SCHEMA db_datadict TO db_datadictx; +# eval $my_select; +# --echo # Switch to connection testuser1 +# eval $my_select; +# RENAME SCHEMA db_datadictx TO db_datadict; +############ Check extend PRIVILEGES (affects PRIVILEGE_TYPE) on SCHEMA +--echo # Switch to connection default +connection default; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +eval $my_select; +--echo # Switch to connection testuser1 +eval $my_select; +############ Check extend PRIVILEGES (affects IS_GRANTABLE) on SCHEMA +--echo # Switch to connection default +connection default; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +eval $my_select; +--echo # Switch to connection testuser1 +eval $my_select; +############ Check DROP SCHEMA +# No impact, because there is no "maintenance" of privileges. +--echo # Switch to connection default +connection default; +DROP SCHEMA db_datadict; +eval $my_select; +--echo # Switch to connection testuser1 +eval $my_select; +############ Check REVOKE PRIVILEGE +--echo # Switch to connection default +connection default; +REVOKE UPDATE ON db_datadict.* FROM 'testuser1'@'localhost'; +eval $my_select; +--echo # Switch to connection testuser1 +eval $my_select; +############ Check RENAME USER +--echo # Switch to connection default +connection default; +RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost'; +eval $my_select; +--echo # Switch to connection testuser1 +eval $my_select; +--echo # Close connection testuser1 +disconnect testuser1; +--echo # Establish connection the_user (user=the_user) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (the_user, localhost, the_user, , test); +eval $my_select; +--echo # Close connection the_user +disconnect the_user; +############ Check DROP USER +--echo # Switch to connection default +connection default; +eval $my_select; +DROP USER 'the_user'@'localhost'; +eval $my_select; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT) +ENGINE = $engine_type; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.schema_privileges +SELECT * FROM information_schema.schema_privileges; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.schema_privileges SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.schema_privileges +WHERE table_schema = 'db_datadict'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.schema_privileges; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_tables +ON information_schema.schema_privileges(table_schema); +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.schema_privileges ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.schema_privileges; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.schema_privileges +RENAME db_datadict.schema_privileges; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.schema_privileges +RENAME information_schema.xschema_privileges; + +# Cleanup +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; + diff --git a/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test new file mode 100644 index 00000000000..cb34d1bad2d --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test @@ -0,0 +1,58 @@ +# suite/funcs_1/t/is_schema_privileges_is_mysql_test.test +# +# Check the content of information_schema.schema_privileges about the databases +# information_schema, mysql and test visible to high and low privileged users. +# +# 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. +# +# + +--echo ############################################################################## +--echo # Testcases 3.2.9.2+3.2.9.3 INFORMATION_SCHEMA.SCHEMATA accessible information +--echo ############################################################################## +# 3.2.9.2 Ensure that the table shows the relevant information for every +# database on which the current user or PUBLIC have privileges. +# 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. +# +--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.schema_privileges +WHERE table_schema IN ('information_schema','mysql','test') +ORDER BY grantee, table_schema, privilege_type; +let $my_show1 = SHOW DATABASES LIKE 'information_schema'; +let $my_show2 = SHOW DATABASES LIKE 'mysql'; +let $my_show3 = SHOW DATABASES LIKE 'test'; +eval $my_select; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +--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; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +# Cleanup +--echo # Switch to connection default and close connection testuser1 +connection default; +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_schemata.test b/mysql-test/suite/funcs_1/t/is_schemata.test new file mode 100644 index 00000000000..7eb08dba463 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_schemata.test @@ -0,0 +1,246 @@ +# suite/funcs_1/t/is_schemata.test +# +# Check the layout of information_schema.schemata, permissions and the impact of +# CREATE/ALTER/DROP SCHEMA on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing databases +# information_schema and mysql +# - for checking storage engine properties +# +# 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 + +let $is_table = SCHEMATA; + +# The table INFORMATION_SCHEMA.SCHEMATA must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.9.1: INFORMATION_SCHEMA.SCHEMATA layout; +--echo ######################################################################### +# 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 defaul collation) +# SQL_PATH (always shows NULL). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.schemata is in is_columns_is.test. + +# Show that CATALOG_NAME and SQL_PATH are always NULL. +SELECT catalog_name, schema_name, sql_path +FROM information_schema.schemata +WHERE catalog_name IS NOT NULL or sql_path IS NOT NULL; + + +--echo ############################################################################### +--echo # Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information +--echo ############################################################################### +# 3.2.9.2 Ensure that the table shows the relevant information for every +# database on which the current user or PUBLIC have privileges. +# 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. +# +# Note: Check of content within information_schema.schemata about the databases +# information_schema and mysql is in +# suite/funcs_1/t/is_schemata_is_mysql.test. +# +--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; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +GRANT SELECT ON db_datadict_1.* to 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict_1.* to 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict_2.* to 'testuser2'@'localhost'; + +let $my_select = SELECT * FROM information_schema.schemata +WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name; +let $my_show = SHOW DATABASES LIKE 'db_datadict_%'; + +eval $my_select; +--sorted_result +eval $my_show; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict_1); +# Shows db_datadict_1 +eval $my_select; +--sorted_result +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict_2); +# Shows db_datadict_1 and db_datadict_2 +eval $my_select; +--sorted_result +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +# Shows neither db_datadict_1 nor db_datadict_2 +eval $my_select; +--sorted_result +eval $my_show; + +# Cleanup +--echo # Switch to connection default and close connections testuser1,testuser2,testuser3 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict_1; +DROP DATABASE db_datadict_2; + + +--echo ################################################################################# +--echo # Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMATA modifications +--echo ################################################################################# +# 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. +# 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. +# 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 + +SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; +SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict'; + +# Check modify default CHARACTER SET +SELECT schema_name, default_character_set_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +ALTER SCHEMA db_datadict CHARACTER SET 'utf8'; +SELECT schema_name, default_character_set_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +ALTER SCHEMA db_datadict CHARACTER SET 'latin1'; + +# Check modify default COLLATION +SELECT schema_name, default_collation_name FROM information_schema.schemata +WHERE schema_name = 'db_datadict'; +ALTER SCHEMA db_datadict COLLATE 'latin1_general_cs'; +SELECT schema_name, default_collation_name FROM information_schema.schemata +WHERE schema_name = 'db_datadict'; + +# Check DROP DATABASE +SELECT schema_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +DROP DATABASE db_datadict; +SELECT schema_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.schemata + (catalog_name, schema_name, default_character_set_name, sql_path) +VALUES (NULL, 'db1', 'latin1', NULL); +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.schemata +SELECT * FROM information_schema.schemata; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.schemata +SET default_character_set_name = 'utf8' +WHERE schema_name = 'db_datadict'; +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.schemata SET catalog_name = 't_4711'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.schemata; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i1 ON information_schema.schemata(schema_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.schemata ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.schemata; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.schemata RENAME information_schema.xschemata; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test new file mode 100644 index 00000000000..cabcfa640d7 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test @@ -0,0 +1,58 @@ +# suite/funcs_1/t/is_schemata_is_mysql_test.test +# +# Check the content of information_schema.schemata about the databases +# information_schema and mysql visible to high and low privileged users. +# +# 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. +# +# + +--echo ################################################################################# +--echo # Testcases 3.2.9.2 + 3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information +--echo ################################################################################# +# 3.2.9.2 Ensure that the table shows the relevant information for every +# database on which the current user or PUBLIC have privileges. +# 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. +# +--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.schemata +WHERE schema_name IN ('information_schema','mysql','test') +ORDER BY schema_name; +let $my_show1 = SHOW DATABASES LIKE 'information_schema'; +let $my_show2 = SHOW DATABASES LIKE 'mysql'; +let $my_show3 = SHOW DATABASES LIKE 'test'; +eval $my_select; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +--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; +eval $my_show1; +eval $my_show2; +eval $my_show3; + +# Cleanup +--echo # Switch to connection default and close connection testuser1 +connection default; +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_statistics.test b/mysql-test/suite/funcs_1/t/is_statistics.test new file mode 100644 index 00000000000..5b17b711fff --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_statistics.test @@ -0,0 +1,379 @@ +# suite/funcs_1/t/is_statistics.test +# +# Check the layout of information_schema.statistics and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on its content. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = STATISTICS; + +# The table INFORMATION_SCHEMA.STATISTICS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.14.1: INFORMATION_SCHEMA.STATISTICS layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.statistics is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name, index_schema, index_name +FROM information_schema.statistics WHERE table_catalog IS NOT NULL; + + +--echo #################################################################################### +--echo # Testcase 3.2.14.2 + 3.2.14.3: INFORMATION_SCHEMA.STATISTICS accessible information +--echo #################################################################################### +# 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). +# 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. +# +# Note: Check of content within information_schema.statistics about +# database is in +# mysql is_statistics_mysql.test +# information_schema is_statistics_is.test +# +--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; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; + +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 + (f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t2 + (f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; + +eval +CREATE TABLE db_datadict_2.t3 + (f1 INT NOT NULL, f2 INT, f5 DATE, + PRIMARY KEY(f1), INDEX f2f1_ind(f2,f1), UNIQUE(f5)) +ENGINE = $engine_type; +eval +CREATE TABLE db_datadict_2.t4 + (f1 INT NOT NULL, PRIMARY KEY(f1), f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; + +let $my_select = SELECT * FROM information_schema.statistics +WHERE table_schema LIKE 'db_datadict%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +let $my_show1 = SHOW GRANTS FOR 'testuser1'@'localhost'; +let $my_show2 = SHOW GRANTS FOR 'testuser2'@'localhost'; +eval $my_select; +eval $my_show1; +eval $my_show2; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +# nothing visible for testuser1 +eval $my_select; +eval $my_show1; +--error ER_DBACCESS_DENIED_ERROR +eval $my_show2; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , test); +# nothing visible for testuser2 +eval $my_select; +--error ER_DBACCESS_DENIED_ERROR +eval $my_show1; +eval $my_show2; + +--echo # Switch to connection default +connection default; +GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT(f1,f5) ON db_datadict_2.t3 TO 'testuser1'@'localhost'; +eval $my_select; +eval $my_show1; +eval $my_show2; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select; +eval $my_show1; +--error ER_DBACCESS_DENIED_ERROR +eval $my_show2; + +--echo # Switch to connection testuser2 +connection testuser2; +eval $my_select; +--error ER_DBACCESS_DENIED_ERROR +eval $my_show1; +eval $my_show2; + +--echo # Switch to connection default +connection default; +REVOKE SELECT,GRANT OPTION ON db_datadict.t1 FROM 'testuser1'@'localhost'; +eval $my_show1; + +--echo # Switch to connection testuser1 +# nothing visible for testuser1 +connection testuser1; +eval $my_select; +eval $my_show1; + +# Cleanup +--echo # Switch to connection default and close connections testuser1, testuser2 +connection default; +disconnect testuser1; +disconnect testuser2; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP DATABASE db_datadict; +DROP DATABASE db_datadict_2; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.STATISTICS modifications +--echo ######################################################################### +# 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. +# 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. +# 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 TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE test.t1_1 (f1 BIGINT, + f2 TEXT, f2x TEXT, f3 CHAR(10), f3x CHAR(10), f4 BIGINT, f4x BIGINT, + f5 POINT, f5x POINT NOT NULL) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $other_engine_type; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_2 (f1 BIGINT, f2 BIGINT) +ENGINE = $engine_type; + +# Tables without primary key or index do not show up +# in information_schema.statistics. +SELECT table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_%'; +# Check ADD PRIMARY KEY (two columns) +ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1,f3); +SELECT * FROM information_schema.statistics +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +# Check DROP PRIMARY KEY +ALTER TABLE test.t1_1 DROP PRIMARY KEY; +SELECT table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_%'; +# Check ADD PRIMARY KEY (one column) +ALTER TABLE test.t1_1 ADD PRIMARY KEY (f1); +SELECT * FROM information_schema.statistics +WHERE table_name LIKE 't1_%'; +# Some variations on index definitions +# 1. No name assigned, one column +ALTER TABLE test.t1_1 ADD INDEX (f4); +# 2. Name assigned, two columns +CREATE INDEX f3_f1 ON test.t1_1 (f3,f1); +# 3. Unique index +CREATE UNIQUE INDEX f4x_uni ON test.t1_1 (f4x); +# 4. Index using HASH +CREATE INDEX f2_hash USING HASH ON test.t1_2 (f2); +# 5. Index with comment (feature introduced in 5.2) +--error ER_PARSE_ERROR +CREATE INDEX f1_idx ON test.t1_2 (f1) COMMENT = 'COMMENT'; +# 6. NOT NULL +CREATE INDEX not_null ON test.t1_1 (f3x); +# 7. Prefix index +CREATE INDEX f2_prefix ON test.t1_1 (f2(20)); +# +SELECT * FROM information_schema.statistics +WHERE table_name LIKE 't1_%' AND index_name <> 'PRIMARY' +ORDER BY table_schema,table_name,index_name,seq_in_index,column_name; +--horizontal_results +DROP TABLE test.t1_2; +# +# Check modification of TABLE_NAME +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1'; +RENAME TABLE test.t1_1 TO test.t1_1x; +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +# +# Check modification of TABLE_SCHEMA +SELECT DISTINCT table_schema,table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_1%'; +RENAME TABLE test.t1_1x TO db_datadict.t1_1x; +SELECT DISTINCT table_schema,table_name FROM information_schema.statistics +WHERE table_name LIKE 't1_1%'; +# +# Check impact of DROP TABLE +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +DROP TABLE db_datadict.t1_1x; +SELECT DISTINCT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +# +# Check a temporary table (not visible) +--replace_result $engine_type <engine_type> +eval +CREATE TEMPORARY TABLE test.t1_1x (PRIMARY KEY(f1,f2)) +ENGINE = $engine_type + AS SELECT 1 AS f1, 2 AS f2; +--vertical_results +SELECT * FROM information_schema.statistics +WHERE table_name = 't1_1x'; +--horizontal_results +DROP TEMPORARY TABLE test.t1_1x; +# +# Check impact of DROP SCHEMA +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1_1x (PRIMARY KEY(f1)) +ENGINE = $engine_type + AS SELECT 1 AS f1, 2 AS f2; +SELECT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.statistics +WHERE table_name = 't1_1x'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.statistics +SELECT * FROM information_schema.statistics; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.statistics SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.statistics WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.statistics; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_statistics +ON information_schema.statistics(table_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.statistics DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.statistics ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.statistics; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.statistics RENAME db_datadict.statistics; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.statistics RENAME information_schema.xstatistics; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_statistics_is.test b/mysql-test/suite/funcs_1/t/is_statistics_is.test new file mode 100644 index 00000000000..0cf5df64955 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_statistics_is.test @@ -0,0 +1,14 @@ +# suite/funcs_1/t/is_statistics_is.test +# +# Check the content of information_schema.statistics about tables within +# the database information_schema for a high and a low privileged user. +# +# 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. +# + +let $my_where = WHERE table_schema = 'information_schema'; +--source suite/funcs_1/datadict/statistics.inc + diff --git a/mysql-test/suite/funcs_1/t/is_statistics_mysql.test b/mysql-test/suite/funcs_1/t/is_statistics_mysql.test new file mode 100644 index 00000000000..a75cc922777 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_statistics_mysql.test @@ -0,0 +1,15 @@ +# suite/funcs_1/t/is_statistics_mysql.test +# +# Check the content of information_schema.statistics about tables within +# the database mysql for a high and a low privileged user. +# +# 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. +# + +let $database = mysql; +let $my_where = WHERE table_schema = 'mysql'; +--source suite/funcs_1/datadict/statistics.inc + diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints.test b/mysql-test/suite/funcs_1/t/is_table_constraints.test new file mode 100644 index 00000000000..60d5ebce703 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_table_constraints.test @@ -0,0 +1,331 @@ +# suite/funcs_1/t/is_table_constraints.test +# +# Check the layout of information_schema.table_constraints and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_typee. +# +# 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 + +let $engine_type = MyISAM; + +let $is_table = TABLE_CONSTRAINTS; + +# The table INFORMATION_SCHEMA.TABLE_CONSTRAINTS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.10.1: INFORMATION_SCHEMA.TABLE_CONSTRAINTS layout +--echo ######################################################################### +# 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'). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.table_constraints is in is_columns_is.test. + +# Show that CONSTRAINT_CATALOG IS NULL +SELECT constraint_catalog, constraint_schema, constraint_name, + table_schema, table_name +FROM information_schema.table_constraints +WHERE constraint_catalog IS NOT NULL; + + +--echo ######################################################################################### +--echo # Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.TABLE_CONSTRAINTS accessible information +--echo ######################################################################################### +# 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. +# 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. +# +# Note: Check of content within table_constraints about tables within +# database is checked in +# mysql is_table_constraints_mysql +# information_schema is_table_constraints_is +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <some_engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT, + f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2)) +ENGINE = $engine_type; +CREATE UNIQUE INDEX my_idx1 ON db_datadict.t1(f6,f1); +CREATE UNIQUE INDEX my_idx2 ON db_datadict.t1(f3); +--replace_result $engine_type <some_engine_type> +eval +CREATE TABLE db_datadict.t2 (f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT, + f5 BIGINT, f6 BIGINT, PRIMARY KEY (f1,f2)) +ENGINE = $engine_type; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT(f5) ON db_datadict.t1 TO 'testuser1'@'localhost'; +SHOW GRANTS FOR 'testuser1'@'localhost'; + +let $my_select = SELECT * FROM information_schema.table_constraints +WHERE table_schema = 'db_datadict' +ORDER BY table_schema,table_name, constraint_name; +let $my_show1 = SHOW INDEXES FROM db_datadict.t1; +let $my_show2 = SHOW INDEXES FROM db_datadict.t2; + +eval $my_select; +# 1 Table Note: We intentinally suppress the protocolling of all +# 2 Non_unique output being not of interest or depending on +# 3 Key_name storage engine used for the table. +# 4 Seq_in_index +# 5 Column_name +# 6 Collation +# 7 Cardinality +# 8 Sub_part +# 9 Packed +# 10 Null +# 11 Index_type +# 12 Comment +--replace_column 6 ### 7 ### 8 ### 9 ### 10 ### 11 ### 12 ### +eval $my_show1; +--replace_column 6 ### 7 ### 8 ### 9 ### 10 ### 11 ### 12 ### +eval $my_show2; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +SHOW GRANTS FOR 'testuser1'@'localhost'; +eval $my_select; +--replace_column 6 ### 7 ### 8 ### 9 ### 10 ### 11 ### 12 ### +eval $my_show1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_show2; + +# Cleanup +--echo # Switch to connection default and close connection testuser1 +connection default; +disconnect testuser1; +DROP USER 'testuser1'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################################### +--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_CONSTRAINTS modifications +--echo ######################################################################################### +# 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. +# 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. +# 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; +DROP TABLE IF EXISTS test.t1_my_table; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT table_name FROM information_schema.table_constraints +WHERE table_name LIKE 't1_my_table%'; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_my_table + (f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $engine_type; +# Settings used in CREATE TABLE must be visible +# in information_schema.table_constraints. +SELECT constraint_name, table_schema, table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_table'; +# +# Check modification of TABLE_NAME +SELECT table_name FROM information_schema.table_constraints +WHERE table_name LIKE 't1_my_table%'; +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name LIKE 't1_my_table%'; +# +# Check modification of TABLE_SCHEMA +SELECT table_schema,table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +# +let $my_select = SELECT constraint_schema, constraint_name, table_schema, +table_name, constraint_type +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex' +ORDER BY table_schema,table_name, constraint_name; +# +# Check ADD INDEX being not UNIQUE (does not show up in table_constraints) +eval $my_select; +CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2); +eval $my_select; +DROP INDEX f2 ON db_datadict.t1_my_tablex; +# +# Check ADD UNIQUE INDEX without name explicit assigned +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2); +eval $my_select; +DROP INDEX f2 ON db_datadict.t1_my_tablex; +# +# Check ADD UNIQUE INDEX with name explicit assigned +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,f1); +eval $my_select; +DROP INDEX my_idx ON db_datadict.t1_my_tablex; +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2); +eval $my_select; +# +# Check DROP COLUMN (removing an UNIQUE INDEX) +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN f2; +eval $my_select; +# +# Check impact of DROP TABLE +SELECT table_name +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name +FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +# +# No UNIQUE CONSTRAINT -> no entry in key_column_usage +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = $engine_type AS +SELECT 1 AS f1; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +# UNIQUE CONSTRAINT -> entry in key_column_usage +ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1); +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP SCHEMA +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.table_constraints +WHERE table_name = 't1_my_tablex'; +# + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS db_datadict.t1; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT, UNIQUE(f1)) +ENGINE = $engine_type; + +--error ER_DBACCESS_DENIED_ERROR + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.table_constraints + (constraint_schema, constraint_name, table_name) +VALUES ( 'mysql', 'primary', 'db'); +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.table_constraints +SELECT * FROM information_schema.table_constraints; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.table_constraints +SET table_name = 'db1' WHERE constraint_name = 'primary'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.table_constraints WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.table_constraints; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i3 ON information_schema.table_constraints(table_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.table_constraints ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.table_constraints; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.table_constraints +RENAME db_datadict.table_constraints; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.table_constraints +RENAME information_schema.xtable_constraints; + +# Cleanup +DROP TABLE db_datadict.t1; +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints_is.test b/mysql-test/suite/funcs_1/t/is_table_constraints_is.test new file mode 100644 index 00000000000..6105126386a --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_table_constraints_is.test @@ -0,0 +1,14 @@ +# suite/funcs_1/t/is_table_constraints_is.test +# +# Check the content of information_schema.table_constraints about tables within +# the database information_schema with different privileged users. +# +# 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. +# + +let $table_schema = information_schema; +--source suite/funcs_1/datadict/table_constraints.inc + diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test new file mode 100644 index 00000000000..5ef1561ccdf --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test @@ -0,0 +1,14 @@ +# suite/funcs_1/t/is_table_constraints_mysql.test +# +# Check the content of information_schema.table_constraints about tables within +# the database mysql (= the system tables) with different privileged users. +# +# 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. +# + +let $table_schema = mysql; +--source suite/funcs_1/datadict/table_constraints.inc + diff --git a/mysql-test/suite/funcs_1/t/is_table_privileges.test b/mysql-test/suite/funcs_1/t/is_table_privileges.test new file mode 100644 index 00000000000..b095a5ddad6 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_table_privileges.test @@ -0,0 +1,349 @@ +# suite/funcs_1/t/is_table_privileges.test +# +# Check the layout of information_schema.table_privileges and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = TABLE_PRIVILEGES; + +# The table INFORMATION_SCHEMA.TABLE_PRIVILEGES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.11.1: INFORMATION_SCHEMA.TABLE_PRIVILEGES layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns +# about information_schema.table_privileges is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name, privilege_type +FROM information_schema.table_privileges WHERE table_catalog IS NOT NULL; + +--echo ###################################################################### +--echo # Testcase 3.2.11.2+3.2.11.3+3.2.11.4: +--echo # INFORMATION_SCHEMA.TABLE_PRIVILEGES accessible information +--echo ###################################################################### +# 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. +# 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. +# 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. +# +# To be implemented: +# Check of content within information_schema.table_privileges about +# databases like 'information_schema' or 'mysql'. +# 2008-02-15 Neither root nor a just created low privileged user has table +# privileges within these schemas. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.tb1(f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT CREATE, SELECT ON db_datadict.* +TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +let $my_select = SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 'tb%' +ORDER BY grantee,table_schema,table_name,privilege_type; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE tb3 (f1 TEXT) +ENGINE = $other_engine_type; +GRANT SELECT ON db_datadict.tb3 TO 'testuser3'@'localhost'; +eval $my_select; +SHOW GRANTS FOR 'testuser1'@'localhost'; + +--echo # Establish connection testuser2 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +# we see only table privileges for this user, and not any other privileges +eval $my_select; +SHOW GRANTS FOR 'testuser2'@'localhost'; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , db_datadict); +# we see only table privileges for this user, and not any other privileges +eval $my_select; +SHOW GRANTS FOR 'testuser3'@'localhost'; + +--echo # Switch to connection default and close the other connections +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; + +# we see only 'public' table privileges +eval $my_select; +SHOW GRANTS FOR 'testuser1'@'localhost'; +SHOW GRANTS FOR 'testuser2'@'localhost'; +SHOW GRANTS FOR 'testuser3'@'localhost'; + +# Cleanup +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ################################################################################ +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLE_PRIVILEGES modifications +--echo ################################################################################ +# 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. +# 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. +# 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. +# +# Note (mleich): +# The MySQL privilege system allows to GRANT objects before they exist. +# (Exception: Grant privileges for columns of not existing tables/views.) +# There is also no migration of privileges if objects (tables,views,columns) +# are moved to other databases (tables only), renamed or dropped. +# +--disable_warnings +DROP TABLE IF EXISTS test.t1_table; +DROP VIEW IF EXISTS test.t1_view; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_table (f1 BIGINT) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +COMMENT = 'Initial Comment' ENGINE = $engine_type; +CREATE VIEW test.t1_view AS SELECT 1; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'the_user'@'localhost'; +# +# Check granted TABLE and VIEW +SELECT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%'; +GRANT ALL ON test.t1_table TO 'testuser1'@'localhost'; +GRANT ALL ON test.t1_view TO 'testuser1'@'localhost'; +SELECT * FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY grantee, table_schema, table_name, privilege_type; +# +# Check modification of GRANTEE (migration of permissions) +SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY grantee, table_name; +RENAME USER 'testuser1'@'localhost' TO 'the_user'@'localhost'; +# FIXME: mleich Workaround for bug to be reported +# It looks like an immediate reloading of the system tables is missing in case +# of RENAME USER. +FLUSH PRIVILEGES; +SELECT DISTINCT grantee, table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY grantee, table_name; +--error ER_NONEXISTING_GRANT +SHOW GRANTS FOR 'testuser1'@'localhost'; +SHOW GRANTS FOR 'the_user'@'localhost'; +# +# Check modification of TABLE_SCHEMA (no migration of permissions) +SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +RENAME TABLE test.t1_table TO db_datadict.t1_table; +--error ER_FORBID_SCHEMA_CHANGE +RENAME TABLE test.t1_view TO db_datadict.t1_view; +SELECT DISTINCT table_schema,table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +SHOW GRANTS FOR 'the_user'@'localhost'; +REVOKE ALL PRIVILEGES ON test.t1_table FROM 'the_user'@'localhost'; +REVOKE ALL PRIVILEGES ON test.t1_view FROM 'the_user'@'localhost'; +DROP VIEW test.t1_view; +CREATE VIEW db_datadict.t1_view AS SELECT 1; +GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost'; +GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost'; +# +# Check modification of TABLE_NAME (no migration of permissions) +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +RENAME TABLE db_datadict.t1_table TO db_datadict.t1_tablex; +RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +RENAME TABLE db_datadict.t1_tablex TO db_datadict.t1_table; +RENAME TABLE db_datadict.t1_viewx TO db_datadict.t1_view; +# +# Check impact of DROP TABLE/VIEW (no removal of permissions) +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP TABLE db_datadict.t1_table; +DROP VIEW db_datadict.t1_view; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +# +# Check impact of DROP SCHEMA (no removal of permissions) +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1_table +ENGINE = $engine_type AS +SELECT 1; +CREATE VIEW db_datadict.t1_view AS SELECT 1; +GRANT ALL ON db_datadict.t1_table TO 'the_user'@'localhost'; +GRANT ALL ON db_datadict.t1_view TO 'the_user'@'localhost'; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP DATABASE db_datadict; +SELECT DISTINCT table_name FROM information_schema.table_privileges +WHERE table_name LIKE 't1_%' +ORDER BY table_name; + +# Cleanup +DROP USER 'the_user'@'localhost'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT, f2 BIGINT) +ENGINE = $engine_type; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT SELECT (f1) ON db_datadict.t1 TO 'testuser1'@'localhost'; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.table_privileges +SELECT * FROM information_schema.table_privileges; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.table_privileges SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.table_privileges WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.table_privileges; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_tables +ON information_schema.table_privileges(table_schema); +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.table_privileges ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.table_privileges; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.table_privileges +RENAME db_datadict.table_privileges; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.table_privileges +RENAME information_schema.xtable_privileges; + +# Cleanup +DROP DATABASE db_datadict; +DROP USER 'testuser1'@'localhost'; + diff --git a/mysql-test/suite/funcs_1/t/is_tables.test b/mysql-test/suite/funcs_1/t/is_tables.test new file mode 100644 index 00000000000..35b6b7ef007 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables.test @@ -0,0 +1,474 @@ +# suite/funcs_1/t/tables.test +# +# Check the layout of information_schema.tables and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# Some results of the subtests depend on the storage engines assigned. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = TABLES; + +# The table INFORMATION_SCHEMA.TABLES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.TABLES layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.tables is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name +FROM information_schema.tables WHERE table_catalog IS NOT NULL; + + +--echo ################################################################################ +--echo # Testcase 3.2.12.2 + 3.2.12.3: INFORMATION_SCHEMA.TABLES accessible information +--echo ################################################################################ +# 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. +# 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. +# +# Note: Check of content within information_schema.tables about tables within +# database is in +# mysql is_tables_mysql.test +# information_schema is_tables_is.test +# test% is_tables_<engine>.test +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.* + TO 'testuser1'@'localhost' WITH GRANT OPTION; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.tb1 (f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; + +GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost'; +GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION; + +let $my_select = SELECT * FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +let $my_show = SHOW TABLES FROM db_datadict; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +# tb2 is not granted to anyone +--replace_result $engine_type <engine_type> +eval +CREATE TABLE tb2 (f1 DECIMAL) +ENGINE = $engine_type; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE tb3 (f1 VARCHAR(200)) +ENGINE = $engine_type; +GRANT SELECT ON db_datadict.tb3 to 'testuser3'@'localhost'; +GRANT INSERT ON db_datadict.tb3 to 'testuser2'@'localhost'; +CREATE VIEW v3 AS SELECT * FROM tb3; +GRANT SELECT ON db_datadict.v3 to 'testuser3'@'localhost'; + +if ($have_bug_32285) +{ +--disable_ps_protocol +} +# We do not want to check here values affected by +# - the storage engine used +# - Operating system / Filesystem +# - start time of test +# 1 TABLE_CATALOG +# 2 TABLE_SCHEMA +# 3 TABLE_NAME +# 4 TABLE_TYPE +# 5 ENGINE affected by storage engine used +# 6 VERSION +# 7 ROW_FORMAT affected by storage engine used +# 8 TABLE_ROWS +# 9 AVG_ROW_LENGTH affected by storage engine used +# 10 DATA_LENGTH affected by storage engine used and maybe OS +# 11 MAX_DATA_LENGTH affected by storage engine used and maybe OS +# 12 INDEX_LENGTH affected by storage engine used and maybe OS +# 13 DATA_FREE affected by storage engine used and maybe OS +# 14 AUTO_INCREMENT +# 15 CREATE_TIME depends roughly on start time of test (*) +# 16 UPDATE_TIME depends roughly on start time of test (*) +# 17 CHECK_TIME depends roughly on start time of test and storage engine (*) +# 18 TABLE_COLLATION +# 19 CHECKSUM affected by storage engine used +# 20 CREATE_OPTIONS +# 21 TABLE_COMMENT affected by some storage engines +# (*) In case of view or temporary table NULL. +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +if ($have_bug_32285) +{ +--disable_ps_protocol +} +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , db_datadict); +if ($have_bug_32285) +{ +--disable_ps_protocol +} +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +--echo # Switch to connection default (user=root) +connection default; +# we see only 'public' tables +if ($have_bug_32285) +{ +--disable_ps_protocol +} +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +# Cleanup +--echo # Close connection testuser1, testuser2, testuser3 +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLES modifications +--echo ######################################################################### +# 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. +# 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. +# 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 TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_my_table (f1 BIGINT) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +COMMENT = 'Initial Comment' ENGINE = $engine_type; +# Settings used in CREATE TABLE must be visible in information_schema.tables. +--vertical_results +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +SELECT * FROM information_schema.tables +WHERE table_name = 't1_my_table'; +--horizontal_results +# +# Check modification of TABLE_NAME +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +# +# Check modification of TABLE_SCHEMA +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of ENGINE +--replace_result $engine_type <engine_type> +SELECT table_name, engine FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +--replace_result $other_engine_type <other_engine_type> +eval +ALTER TABLE db_datadict.t1_my_tablex +ENGINE = $other_engine_type; +--replace_result $other_engine_type <other_engine_type> +SELECT table_name, engine FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of TABLE_ROWS +SELECT table_name, table_rows FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +INSERT INTO db_datadict.t1_my_tablex VALUES(1),(2); +SELECT table_name, table_rows FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check indirect modification of TABLE_COLLATION +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8; +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# Check direct modification of TABLE_COLLATION +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci; +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of TABLE_COMMENT +SELECT table_name, TABLE_COMMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex COMMENT 'Changed Comment'; +SELECT table_name, TABLE_COMMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of AUTO_INCREMENT +SELECT table_name, AUTO_INCREMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +ADD f2 BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (f2); +SELECT table_name, AUTO_INCREMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of ROW_FORMAT +SELECT table_name, ROW_FORMAT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex ROW_FORMAT = dynamic; +SELECT table_name, ROW_FORMAT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check "growth" of UPDATE_TIME and modification of CHECKSUM +SELECT table_name, checksum FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1; +SELECT table_name, checksum IS NOT NULL FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# Enforce a time difference bigger than the smallest unit (1 second). +--real_sleep 1.1 +INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; +SELECT UPDATE_TIME > @UPDATE_TIME + AS "Is current UPDATE_TIME bigger than before last INSERT?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +SELECT checksum <> @checksum + AS "Is current CHECKSUM different than before last INSERT?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Information is used later +SELECT CREATE_TIME INTO @CREATE_TIME FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP TABLE +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +# +# Check "growth" of CREATE_TIME +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE test.t1_my_tablex (f1 BIGINT) +ENGINE = $other_engine_type; +SELECT CREATE_TIME > @CREATE_TIME + AS "Is current CREATE_TIME bigger than for the old dropped table?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +DROP TABLE test.t1_my_tablex; +# +# Check a VIEW +CREATE VIEW test.t1_my_tablex AS SELECT 1; +--vertical_results +SELECT * FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +--horizontal_results +DROP VIEW test.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check a temporary table +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TEMPORARY TABLE test.t1_my_tablex +ENGINE = $other_engine_type + AS SELECT 1; +--vertical_results +SELECT table_name, table_type FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +--horizontal_results +DROP TEMPORARY TABLE test.t1_my_tablex; +# +# Check impact of DROP SCHEMA +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = $engine_type AS +SELECT 1; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.tables +SELECT * FROM information_schema.tables; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.tables SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.tables WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.tables; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_tables ON information_schema.tables(table_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.tables; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables RENAME db_datadict.tables; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables RENAME information_schema.xtables; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_tables_innodb.test b/mysql-test/suite/funcs_1/t/is_tables_innodb.test new file mode 100644 index 00000000000..31a3900c7c3 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables_innodb.test @@ -0,0 +1,22 @@ +# suite/funcs_1/t/is_tables_innodb.test +# +# Check the content of information_schema.tables about tables within +# the databases created by the user. +# Variant for storage engine InnoDB +# +# 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 include/have_innodb.inc +let $engine_type= InnoDB; +--source suite/funcs_1/datadict/datadict_load.inc +--enable_abort_on_error + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE'; +--source suite/funcs_1/datadict/tables1.inc + +--source suite/funcs_1/include/cleanup.inc diff --git a/mysql-test/suite/funcs_1/t/is_tables_is.test b/mysql-test/suite/funcs_1/t/is_tables_is.test new file mode 100644 index 00000000000..66ad94f774b --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables_is.test @@ -0,0 +1,18 @@ +# suite/funcs_1/t/is_tables_is.test +# +# Check the content of information_schema.tables about tables within +# the database information_schema. +# +# Note: The INFORMATION_SCHEMA table PROFILING is optional (exists in MySQL +# Community version only) and therefore we exclude it from retrieval. +# +# 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. +# + +let $my_where = WHERE table_schema = 'information_schema' +AND table_name <> 'profiling'; +--source suite/funcs_1/datadict/tables1.inc + diff --git a/mysql-test/suite/funcs_1/t/is_tables_memory.test b/mysql-test/suite/funcs_1/t/is_tables_memory.test new file mode 100644 index 00000000000..8b5da595462 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables_memory.test @@ -0,0 +1,22 @@ +# suite/funcs_1/t/is_tables_memory.test +# +# Check the content of information_schema.tables about tables within +# the databases created by the user. +# Variant for storage engine MEMORY +# +# 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. +# + +let $engine_type= MEMORY; +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +--source suite/funcs_1/datadict/datadict_load.inc +--enable_abort_on_error + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE'; +--source suite/funcs_1/datadict/tables1.inc + +--source suite/funcs_1/include/cleanup.inc diff --git a/mysql-test/suite/funcs_1/t/is_tables_myisam.test b/mysql-test/suite/funcs_1/t/is_tables_myisam.test new file mode 100644 index 00000000000..4fc88364d87 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables_myisam.test @@ -0,0 +1,22 @@ +# suite/funcs_1/t/is_tables_myisam.test +# +# Check the content of information_schema.tables about tables within +# the databases created by the user. +# Variant for storage engine MyISAM +# +# 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. +# + +let $engine_type= MyISAM; +SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION'; +--source suite/funcs_1/datadict/datadict_load.inc +--enable_abort_on_error + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE'; +--source suite/funcs_1/datadict/tables1.inc + +--source suite/funcs_1/include/cleanup.inc diff --git a/mysql-test/suite/funcs_1/t/is_tables_mysql.test b/mysql-test/suite/funcs_1/t/is_tables_mysql.test new file mode 100644 index 00000000000..a6c3a72a1cf --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables_mysql.test @@ -0,0 +1,14 @@ +# suite/funcs_1/t/is_tables_mysql.test +# +# Check the content of information_schema.tables about tables within +# the database mysql (= the system tables). +# +# 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. +# + +let $my_where = WHERE table_schema = 'mysql'; +--source suite/funcs_1/datadict/tables1.inc + diff --git a/mysql-test/suite/funcs_1/t/is_tables_ndb.test b/mysql-test/suite/funcs_1/t/is_tables_ndb.test new file mode 100644 index 00000000000..49ce60b08bd --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_tables_ndb.test @@ -0,0 +1,34 @@ +# suite/funcs_1/t/is_tables_ndb.test +# +# Check the content of information_schema.tables about tables within +# the databases created by the user. +# Variant for storage engine NDB +# +# 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 include/have_ndb.inc +let $engine_type= NDB; +--source suite/funcs_1/datadict/datadict_load.inc +--enable_abort_on_error + +# We look only for the tables created by datadict_load.inc. +let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE'; +--source suite/funcs_1/datadict/tables1.inc + +# This test runs with a different set of tables. +# --source suite/funcs_1/include/cleanup.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; diff --git a/mysql-test/suite/funcs_1/t/is_triggers.test b/mysql-test/suite/funcs_1/t/is_triggers.test new file mode 100644 index 00000000000..261f082fb50 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_triggers.test @@ -0,0 +1,253 @@ +# suite/funcs_1/t/is_triggers.test +# +# Check the layout of information_schema.triggers and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing triggers +# (there are no in the moment) within the databases information_schema +# and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = TRIGGERS; + +# The table INFORMATION_SCHEMA.TRIGGERS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.TRIGGERS layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.TRIGGERS table has the following columns, +# in the following order: +# +# TRIGGER_CATALOG NULL +# TRIGGER_SCHEMA name of the database in which the trigger occurs +# TRIGGER_NAME +# EVENT_MANIPULATION event associated with the trigger +# ('INSERT', 'DELETE', or 'UPDATE') +# EVENT_OBJECT_CATALOG NULL +# EVENT_OBJECT_SCHEMA database in which the table associated with the +# trigger occurs +# EVENT_OBJECT_TABLE name of the table associated with the trigger +# ACTION_ORDER 0 +# ACTION_CONDITION NULL +# ACTION_STATEMENT +# ACTION_ORIENTATION ROW +# ACTION_TIMING 'BEFORE' or 'AFTER' +# ACTION_REFERENCE_OLD_TABLE NULL +# ACTION_REFERENCE_NEW_TABLE NULL +# ACTION_REFERENCE_OLD_ROW OLD +# ACTION_REFERENCE_NEW_ROW NEW +# CREATED NULL (0) +# SQL_MODE server SQL mode that was in effect at the time +# when the trigger was created +# (also used during trigger execution) +# DEFINER who defined the trigger +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + + +# Note: Retrieval of information within information_schema.columns about +# information_schema.tables is in is_columns_is.test. + +# Show that several columns are always NULL. +SELECT * FROM information_schema.triggers +WHERE trigger_catalog IS NOT NULL OR event_object_catalog IS NOT NULL + OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL + OR action_reference_new_table IS NOT NULL; + + +--echo ################################################################################## +--echo # Testcase 3.2.18.2 + 3.2.18.3: INFORMATION_SCHEMA.TRIGGERS accessible information +--echo ################################################################################## +# 3.2.18.2: Ensure that the table shows the relevant information on every +# trigger on which the current user or PUBLIC has privileges. +# 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. +# The SUPER privilege is required for +# - creation of triggers +# - retrieval in INFORMATION_SCHEMA.TRIGGERS (affects size of result set) +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser4'@'localhost'; +CREATE USER 'testuser4'@'localhost'; + +GRANT SUPER ON *.* TO 'testuser1'@'localhost'; +GRANT SUPER ON *.* TO 'testuser3'@'localhost'; +GRANT SUPER ON *.* TO 'testuser4'@'localhost'; +GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; + +let $my_select = SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +let $my_show = SHOW TRIGGERS FROM db_datadict; +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; +CREATE TRIGGER trg1 BEFORE INSERT +ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before; +GRANT ALL ON db_datadict.t1 TO 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'; +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +SHOW GRANTS FOR 'testuser2'@'localhost'; +--echo # No SUPER Privilege --> no result for query +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +SHOW GRANTS FOR 'testuser3'@'localhost'; +--echo # SUPER Privilege + SELECT Privilege on t1 --> result for query +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser4 (user=testuser4) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser4, localhost, testuser4, , test); +SHOW GRANTS FOR 'testuser4'@'localhost'; +--echo # SUPER Privilege + no SELECT Privilege on t1 --> no result for query +eval $my_select; +eval $my_show; + +--echo # Switch to connection default and close connections testuser1 - testuser4 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +disconnect testuser4; +eval $my_select; +eval $my_show; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP USER 'testuser4'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TRIGGERS modifications +--echo ######################################################################### +# 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. +# 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. +# 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. +# FIXME: To be implemented + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; +CREATE TRIGGER db_datadict.trg1 BEFORE INSERT +ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.triggers +SELECT * FROM information_schema.triggers; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.triggers SET trigger_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.triggers WHERE trigger_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.triggers; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_triggers ON information_schema.triggers(trigger_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.triggers; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers RENAME db_datadict.triggers; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/is_user_privileges.test b/mysql-test/suite/funcs_1/t/is_user_privileges.test new file mode 100644 index 00000000000..dc39ad6fe4f --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_user_privileges.test @@ -0,0 +1,347 @@ +# suite/funcs_1/t/is_user_privileges.test +# +# Check the layout of information_schema.user_privileges, permissions and +# the impact of CREATE/ALTER/DROP SCHEMA on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# 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 + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = USER_PRIVILEGES; + +# The table INFORMATION_SCHEMA.USER_PRIVILEGES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.16.1: INFORMATION_SCHEMA.USER_PRIVILEGES layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.user_privileges is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT grantee, table_catalog, privilege_type +FROM information_schema.user_privileges +WHERE table_catalog IS NOT NULL; + + +--echo ########################################################################## +--echo # Testcases 3.2.16.2+3.2.16.3+3.2.16.4: INFORMATION_SCHEMA.USER_PRIVILEGES +--echo # accessible information +--echo ########################################################################## +# 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. +# 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. +# 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. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +GRANT SELECT ON db_datadict.* TO 'testuser1'@'localhost'; +GRANT SELECT ON mysql.user TO 'testuser1'@'localhost'; + +GRANT INSERT ON *.* TO 'testuser2'@'localhost'; +GRANT UPDATE ON *.* TO 'testuser2'@'localhost'; + +let $my_select1= SELECT * FROM information_schema.user_privileges +WHERE grantee LIKE '''testuser%''' +ORDER BY grantee, table_catalog, privilege_type; +let $my_select2= SELECT * FROM mysql.user +WHERE user LIKE 'testuser%' ORDER BY host, user; +let $my_show= SHOW GRANTS; +eval $my_select1; +eval $my_select2; + +--echo # +--echo # Add GRANT OPTION db_datadict.* to testuser1; +GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +eval $my_select1; +eval $my_select2; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +eval $my_select1; +eval $my_select2; +eval $my_show; + +--echo +--echo # Now add SELECT on *.* to testuser1; + +--echo # Switch to connection default +connection default; +GRANT SELECT ON *.* TO 'testuser1'@'localhost'; +--echo # +--echo # Here <SELECT NO> is shown correctly for testuser1; +eval $my_select1; +eval $my_select2; + +GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +--echo # +--echo # Here <SELECT YES> is shown correctly for testuser1; +eval $my_select1; +eval $my_select2; + +--echo # Switch to connection testuser1 +# check that this appears +connection testuser1; +eval $my_select1; +eval $my_select2; +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +eval $my_select1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_select2; +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +eval $my_select1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_select2; +eval $my_show; + +--echo +--echo # Revoke privileges from testuser1; +--echo # Switch to connection default +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost'; +eval $my_select1; +eval $my_select2; + +--echo # Switch to connection testuser1 +# check for changes +connection testuser1; +eval $my_select1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_select2; +eval $my_show; + +# OK, testuser1 has no privs here +--error ER_TABLEACCESS_DENIED_ERROR +CREATE TABLE db_datadict.tb_55 ( c1 TEXT ); +eval $my_select1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_select2; +eval $my_show; +# OK, testuser1 has no privs here +--error ER_TABLEACCESS_DENIED_ERROR +CREATE TABLE db_datadict.tb_66 ( c1 TEXT ); + +--echo +--echo # Add ALL on db_datadict.* (and select on mysql.user) to testuser1; +--echo # Switch to connection default +connection default; +GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; +GRANT SELECT ON mysql.user TO 'testuser1'@'localhost'; +eval $my_select1; +eval $my_select2; + +--echo # Switch to connection testuser1 +connection testuser1; +eval $my_select1; +eval $my_select2; +eval $my_show; + +# OK, testuser1 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; +eval $my_select1; +eval $my_select2; +eval $my_show; +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE tb_57 ( c1 TEXT ) +ENGINE = $other_engine_type; + +--echo +--echo # Revoke privileges from testuser1; +--echo # Switch to connection default +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost'; +eval $my_select1; +eval $my_select2; + +--echo # Switch to connection testuser1 +# check for changes +connection testuser1; +eval $my_select1; +--error ER_TABLEACCESS_DENIED_ERROR +eval $my_select2; +eval $my_show; +# WORKS, as the existing old privileges are used! +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.tb_58 ( c1 TEXT ) +ENGINE = $other_engine_type; +# existing privileges are "read" new when USE is called, user has no privileges +--error ER_DBACCESS_DENIED_ERROR +USE db_datadict; +#FIXME 3.2.16: check that it is correct that this now 'works': --error ER_TABLEACCESS_DENIED_ERROR +--replace_result $other_engine_type <other_engine_type> +eval +CREATE TABLE db_datadict.tb_59 ( c1 TEXT ) +ENGINE = $other_engine_type; + +# Cleanup +--echo # Switch to connection default and close connections testuser1,testuser2,testuser3 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE IF EXISTS db_datadict; + + +--echo ######################################################################################## +--echo # Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.USER_PRIVILEGES modifications +--echo ######################################################################################## +# 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. +# 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. +# 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. +# +let $my_select = SELECT * FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +let $my_show = SHOW GRANTS FOR 'testuser1'@'localhost'; +eval $my_select; +--error ER_NONEXISTING_GRANT +eval $my_show; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +eval $my_select; +eval $my_show; +GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost'; +eval $my_select; +eval $my_show; +DROP USER 'testuser1'@'localhost'; +eval $my_select; +--error ER_NONEXISTING_GRANT +eval $my_show; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.user_privileges +SELECT * FROM information_schema.user_privileges; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.user_privileges +SET PRIVILEGE_TYPE = 'gaming'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.user_privileges +WHERE grantee = '''testuser1''@''localhost'''; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.user_privileges; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i1 ON information_schema.user_privileges(grantee); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.user_privileges ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.user_privileges; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.user_privileges +RENAME db_datadict.user_privileges; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.user_privileges +RENAME information_schema.xuser_privileges; + +# Cleanup +DROP USER 'testuser1'@'localhost'; + diff --git a/mysql-test/suite/funcs_1/t/is_views.test b/mysql-test/suite/funcs_1/t/is_views.test new file mode 100644 index 00000000000..9819fe1ffe0 --- /dev/null +++ b/mysql-test/suite/funcs_1/t/is_views.test @@ -0,0 +1,305 @@ +# suite/funcs_1/t/is_views.test +# +# Check the layout of information_schema.views and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# - This test should not check storage engine properties. +# - Please do not change the storage engines used within this test +# except you know that the impact is acceptable. +# Some storage engines might not support the modification of +# properties like in the following 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. +# + +# --source suite/funcs_1/datadict/datadict.pre + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = VIEWS; + +# The table INFORMATION_SCHEMA.VIEWS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.13.1: INFORMATION_SCHEMA.VIEWS layout +--echo ######################################################################### +# 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). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.views is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name +FROM information_schema.views WHERE table_catalog IS NOT NULL; + + +--echo ################################################################################ +--echo # Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information +--echo ################################################################################ +# 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. +# 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; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'test_no_views'@'localhost'; +CREATE USER 'test_no_views'@'localhost'; + +--replace_result $engine_type <engine_type> +eval +CREATE TABLE db_datadict.t1(f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; +CREATE VIEW db_datadict.v_granted_to_1 AS SELECT * FROM db_datadict.t1; +CREATE VIEW db_datadict.v_granted_glob AS SELECT f2, f3 FROM db_datadict.t1; + +GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost'; +GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost'; + +let $select = SELECT * FROM information_schema.views +WHERE table_schema = 'db_datadict' ORDER BY table_name; +eval $select; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +eval $select; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , test); +eval $select; + +--echo # Establish connection test_no_views (user=test_no_views) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (test_no_views, localhost, test_no_views, , test); +eval $select; + +# Cleanup +--echo # Switch to connection default and close all other connections +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect test_no_views; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'test_no_views'@'localhost'; +DROP DATABASE db_datadict; + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.VIEWS modifications +--echo ######################################################################### +# 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. +# 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. +# 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 TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $engine_type; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; + +# Check just created VIEW +SELECT * FROM information_schema.views +WHERE table_name LIKE 't1_%'; +CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table; +SELECT * FROM information_schema.views +WHERE table_name LIKE 't1_%'; +# +# Check modification of DEFINER, SECURITY_TYPE, IS_UPDATABLE, VIEW_DEFINITION, +# CHECK_OPTION +SELECT table_name,definer FROM information_schema.views +WHERE table_name = 't1_view'; +ALTER DEFINER = 'testuser1'@'localhost' VIEW test.t1_view AS +SELECT DISTINCT f1 FROM test.t1_table; +# The next result set could suffer from +# Bug#22763 Disrepancy between SHOW CREATE VIEW and I_S.VIEWS +# because the VIEW definition is missing. +# Therefore we exclude the problematic columns from the result set. +SELECT table_name,definer,security_type FROM information_schema.views +WHERE table_name LIKE 't1_%'; +ALTER DEFINER = 'root'@'localhost' SQL SECURITY INVOKER VIEW test.t1_view AS +SELECT f1 FROM test.t1_table WITH LOCAL CHECK OPTION; +SELECT table_name,definer,security_type FROM information_schema.views +WHERE table_name LIKE 't1_%'; +# +# Check modification of TABLE_SCHEMA +SELECT table_schema,table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +--error ER_FORBID_SCHEMA_CHANGE +RENAME TABLE test.t1_view TO db_datadict.t1_view; +# Workaround for missing move to another database +DROP VIEW test.t1_view; +CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table; +SELECT table_schema,table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +# +# Check modification of TABLE_NAME +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +# +# Check impact of DROP VIEW +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP VIEW db_datadict.t1_viewx; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table; +# +# Check impact of DROP base TABLE of VIEW +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP TABLE test.t1_table; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +--replace_result $engine_type <engine_type> +eval +CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Initial Comment' +ENGINE = $engine_type; +# +# Check impact of DROP SCHEMA +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; + +# Cleanup +DROP USER 'testuser1'@'localhost'; +DROP TABLE test.t1_table; + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +CREATE VIEW db_datadict.v1 AS SELECT 1; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.views +SELECT * FROM information_schema.views; +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.views(table_schema, table_name) +VALUES ('db2', 'v2'); + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.views SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.views WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.views; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_views ON information_schema.views(table_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.views; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views RENAME db_datadict.views; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views RENAME information_schema.xviews; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/t/memory__datadict.test b/mysql-test/suite/funcs_1/t/memory__datadict.test deleted file mode 100644 index b78a2511f3c..00000000000 --- a/mysql-test/suite/funcs_1/t/memory__datadict.test +++ /dev/null @@ -1,9 +0,0 @@ -#### suite/funcs_1/t/datadict_memory.test -# -let $engine_type= memory; -# $OTHER_ENGINE_TYPE must be -# - <> $engine_type -# - all time available like MyISAM or MEMORY -let $OTHER_ENGINE_TYPE= MyISAM; - ---source suite/funcs_1/datadict/datadict_master.inc diff --git a/mysql-test/suite/funcs_1/t/memory__load.test b/mysql-test/suite/funcs_1/t/memory__load.test deleted file mode 100644 index 44bd054f420..00000000000 --- a/mysql-test/suite/funcs_1/t/memory__load.test +++ /dev/null @@ -1,45 +0,0 @@ -##### suite/funcs_1/funcs_1/t/memory__load.test - -# Memory tables should be used -# -# Set $engine_type -let $engine_type= memory; - -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means all objects have to be (re)created within the current script. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means the current script must not (re)create any object and every -# testscript/case (re)creates only the objects it needs. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb1.inc - --source suite/funcs_1/include/memory_tb2.inc - --source suite/funcs_1/include/memory_tb3.inc - --source suite/funcs_1/include/memory_tb4.inc - - # The database test1 is needed for the VIEW testcases - --disable_warnings - DROP DATABASE IF EXISTS test1; - --enable_warnings - CREATE DATABASE test1; - USE test1; - --source suite/funcs_1/include/memory_tb2.inc - USE test; - - # These tables are needed for the stored procedure testscases - --source suite/funcs_1/include/sp_tb.inc - - let $run= 0; -} - diff --git a/mysql-test/suite/funcs_1/t/memory_bitdata.test b/mysql-test/suite/funcs_1/t/memory_bitdata.test index 3aa30c2d835..af5d0a9c53b 100644 --- a/mysql-test/suite/funcs_1/t/memory_bitdata.test +++ b/mysql-test/suite/funcs_1/t/memory_bitdata.test @@ -5,28 +5,12 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); +let $message= NOT YET IMPLEMENTED: bitdata tests; +--source include/show_msg80.inc +exit; -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb4.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb4.inc --source suite/funcs_1/bitdata/bitdata_master.test - diff --git a/mysql-test/suite/funcs_1/t/memory_cursors.test b/mysql-test/suite/funcs_1/t/memory_cursors.test index 1361c83ecb0..dc38a3dd0a3 100644 --- a/mysql-test/suite/funcs_1/t/memory_cursors.test +++ b/mysql-test/suite/funcs_1/t/memory_cursors.test @@ -5,28 +5,13 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb1.inc +let $message= NOT YET IMPLEMENTED: cursor tests; +--source include/show_msg80.inc +exit; - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb1.inc --source suite/funcs_1/cursors/cursors_master.test diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_02.test b/mysql-test/suite/funcs_1/t/memory_storedproc_02.test index f92657ee665..f92657ee665 100755..100644 --- a/mysql-test/suite/funcs_1/t/memory_storedproc_02.test +++ b/mysql-test/suite/funcs_1/t/memory_storedproc_02.test diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_03.test b/mysql-test/suite/funcs_1/t/memory_storedproc_03.test index 8a839b255e1..8a839b255e1 100755..100644 --- a/mysql-test/suite/funcs_1/t/memory_storedproc_03.test +++ b/mysql-test/suite/funcs_1/t/memory_storedproc_03.test diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_06.test b/mysql-test/suite/funcs_1/t/memory_storedproc_06.test index 059528590b9..059528590b9 100755..100644 --- a/mysql-test/suite/funcs_1/t/memory_storedproc_06.test +++ b/mysql-test/suite/funcs_1/t/memory_storedproc_06.test diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_07.test b/mysql-test/suite/funcs_1/t/memory_storedproc_07.test index 1d7cee3dbd6..1d7cee3dbd6 100755..100644 --- a/mysql-test/suite/funcs_1/t/memory_storedproc_07.test +++ b/mysql-test/suite/funcs_1/t/memory_storedproc_07.test diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_08.test b/mysql-test/suite/funcs_1/t/memory_storedproc_08.test index 304be8c477a..304be8c477a 100755..100644 --- a/mysql-test/suite/funcs_1/t/memory_storedproc_08.test +++ b/mysql-test/suite/funcs_1/t/memory_storedproc_08.test diff --git a/mysql-test/suite/funcs_1/t/memory_storedproc_10.test b/mysql-test/suite/funcs_1/t/memory_storedproc_10.test index 13fbe99fabf..13fbe99fabf 100755..100644 --- a/mysql-test/suite/funcs_1/t/memory_storedproc_10.test +++ b/mysql-test/suite/funcs_1/t/memory_storedproc_10.test diff --git a/mysql-test/suite/funcs_1/t/memory_trig_0102.test b/mysql-test/suite/funcs_1/t/memory_trig_0102.test index efa739cfb14..c7b07cedfad 100644 --- a/mysql-test/suite/funcs_1/t/memory_trig_0102.test +++ b/mysql-test/suite/funcs_1/t/memory_trig_0102.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb3.inc --source suite/funcs_1/triggers/triggers_0102.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/memory_trig_03.test b/mysql-test/suite/funcs_1/t/memory_trig_03.test index 76980b6b1b0..b7205ce15d2 100644 --- a/mysql-test/suite/funcs_1/t/memory_trig_03.test +++ b/mysql-test/suite/funcs_1/t/memory_trig_03.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb3.inc --source suite/funcs_1/triggers/triggers_03.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/memory_trig_0407.test b/mysql-test/suite/funcs_1/t/memory_trig_0407.test index 05217a7f97f..01b4bc39159 100644 --- a/mysql-test/suite/funcs_1/t/memory_trig_0407.test +++ b/mysql-test/suite/funcs_1/t/memory_trig_0407.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb3.inc --source suite/funcs_1/triggers/triggers_0407.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/memory_trig_08.test b/mysql-test/suite/funcs_1/t/memory_trig_08.test index 8caae1ec45f..bc09d4f3943 100644 --- a/mysql-test/suite/funcs_1/t/memory_trig_08.test +++ b/mysql-test/suite/funcs_1/t/memory_trig_08.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb3.inc --source suite/funcs_1/triggers/triggers_08.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/memory_trig_09.test b/mysql-test/suite/funcs_1/t/memory_trig_09.test index 95a7fefbe90..682e07f9fad 100644 --- a/mysql-test/suite/funcs_1/t/memory_trig_09.test +++ b/mysql-test/suite/funcs_1/t/memory_trig_09.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb3.inc --source suite/funcs_1/triggers/triggers_09.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test b/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test index 726b878854e..c6dfe54b64d 100644 --- a/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test +++ b/mysql-test/suite/funcs_1/t/memory_trig_1011ext.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb3.inc --source suite/funcs_1/triggers/triggers_1011ext.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/memory_views.test b/mysql-test/suite/funcs_1/t/memory_views.test index 303d0bb2ac1..b506f08cf31 100644 --- a/mysql-test/suite/funcs_1/t/memory_views.test +++ b/mysql-test/suite/funcs_1/t/memory_views.test @@ -5,40 +5,18 @@ # Set $engine_type let $engine_type= memory; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -let $run= `SELECT @NO_REFRESH = 0`; -if ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/memory_tb2.inc - --disable_warnings - DROP DATABASE IF EXISTS test1; - --enable_warnings - CREATE DATABASE test1; - USE test1; - --source suite/funcs_1/include/memory_tb2.inc - USE test; - -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/memory_tb2.inc +--disable_warnings +DROP DATABASE IF EXISTS test1; +--enable_warnings +CREATE DATABASE test1; +USE test1; +--source suite/funcs_1/include/memory_tb2.inc +USE test; --source suite/funcs_1/views/views_master.inc - -# If we created the database in the above loop we now need to drop it -let $run= `SELECT @NO_REFRESH = 0`; -if ($run) -{ - DROP DATABASE IF EXISTS test1; -} +DROP DATABASE test1; +DROP TABLE test.tb2; diff --git a/mysql-test/suite/funcs_1/t/myisam__datadict.test b/mysql-test/suite/funcs_1/t/myisam__datadict.test deleted file mode 100644 index e4baba1de3a..00000000000 --- a/mysql-test/suite/funcs_1/t/myisam__datadict.test +++ /dev/null @@ -1,10 +0,0 @@ -#### suite/funcs_1/t/datadict_myisam.test -# - -let $engine_type= myisam; -# $OTHER_ENGINE_TYPE must be -# - <> $engine_type -# - all time available like MyISAM or MEMORY -let $OTHER_ENGINE_TYPE= MEMORY; - ---source suite/funcs_1/datadict/datadict_master.inc diff --git a/mysql-test/suite/funcs_1/t/myisam__load.test b/mysql-test/suite/funcs_1/t/myisam__load.test deleted file mode 100644 index b63044f128c..00000000000 --- a/mysql-test/suite/funcs_1/t/myisam__load.test +++ /dev/null @@ -1,45 +0,0 @@ -##### suite/funcs_1/funcs_1/t/myisam__load.test - -# MyISAM tables should be used -# -# Set $engine_type -let $engine_type= myisam; - -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means all objects have to be (re)created within the current script. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means the current script must not (re)create any object and every -# testscript/case (re)creates only the objects it needs. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb1.inc - --source suite/funcs_1/include/myisam_tb2.inc - --source suite/funcs_1/include/myisam_tb3.inc - --source suite/funcs_1/include/myisam_tb4.inc - - # The database test1 is needed for the VIEW testcases - --disable_warnings - DROP DATABASE IF EXISTS test1; - --enable_warnings - CREATE DATABASE test1; - USE test1; - --source suite/funcs_1/include/myisam_tb2.inc - USE test; - - # These tables are needed for the stored procedure testscases - --source suite/funcs_1/include/sp_tb.inc - - let $run= 0; -} - diff --git a/mysql-test/suite/funcs_1/t/myisam_bitdata.test b/mysql-test/suite/funcs_1/t/myisam_bitdata.test index 7ee15e02ea0..fc00cf478c7 100644 --- a/mysql-test/suite/funcs_1/t/myisam_bitdata.test +++ b/mysql-test/suite/funcs_1/t/myisam_bitdata.test @@ -5,28 +5,12 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); +let $message= NOT YET IMPLEMENTED: bitdata tests; +--source include/show_msg80.inc +exit; -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb4.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb4.inc --source suite/funcs_1/bitdata/bitdata_master.test - diff --git a/mysql-test/suite/funcs_1/t/myisam_cursors.test b/mysql-test/suite/funcs_1/t/myisam_cursors.test index 841903148cd..390d6cc1896 100644 --- a/mysql-test/suite/funcs_1/t/myisam_cursors.test +++ b/mysql-test/suite/funcs_1/t/myisam_cursors.test @@ -5,28 +5,13 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb1.inc +let $message= NOT YET IMPLEMENTED: cursor tests; +--source include/show_msg80.inc +exit; - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb1.inc --source suite/funcs_1/cursors/cursors_master.test diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test index 108b0fe5611..108b0fe5611 100755..100644 --- a/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test +++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_02.test diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test index b181e3ce7ab..b181e3ce7ab 100755..100644 --- a/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test +++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_03.test diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test index 81d3d24a01f..81d3d24a01f 100755..100644 --- a/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test +++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_06.test diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test index a02f2f544ee..a02f2f544ee 100755..100644 --- a/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test +++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_07.test diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test index 24e574fa9e2..24e574fa9e2 100755..100644 --- a/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test +++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_08.test diff --git a/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test b/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test index 6b4f6c21b62..6b4f6c21b62 100755..100644 --- a/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test +++ b/mysql-test/suite/funcs_1/t/myisam_storedproc_10.test diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_0102.test b/mysql-test/suite/funcs_1/t/myisam_trig_0102.test index 77bde5f99ef..fd326b2f061 100644 --- a/mysql-test/suite/funcs_1/t/myisam_trig_0102.test +++ b/mysql-test/suite/funcs_1/t/myisam_trig_0102.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb3.inc --source suite/funcs_1/triggers/triggers_0102.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_03.test b/mysql-test/suite/funcs_1/t/myisam_trig_03.test index 6edaaf7d14c..77b2d16a2a6 100644 --- a/mysql-test/suite/funcs_1/t/myisam_trig_03.test +++ b/mysql-test/suite/funcs_1/t/myisam_trig_03.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb3.inc --source suite/funcs_1/triggers/triggers_03.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_0407.test b/mysql-test/suite/funcs_1/t/myisam_trig_0407.test index a28959b407e..e1e9b6fd230 100644 --- a/mysql-test/suite/funcs_1/t/myisam_trig_0407.test +++ b/mysql-test/suite/funcs_1/t/myisam_trig_0407.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb3.inc --source suite/funcs_1/triggers/triggers_0407.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_08.test b/mysql-test/suite/funcs_1/t/myisam_trig_08.test index dda01314052..225d994a732 100644 --- a/mysql-test/suite/funcs_1/t/myisam_trig_08.test +++ b/mysql-test/suite/funcs_1/t/myisam_trig_08.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb3.inc --source suite/funcs_1/triggers/triggers_08.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_09.test b/mysql-test/suite/funcs_1/t/myisam_trig_09.test index 9f2c932e608..f5c53f48adb 100644 --- a/mysql-test/suite/funcs_1/t/myisam_trig_09.test +++ b/mysql-test/suite/funcs_1/t/myisam_trig_09.test @@ -5,28 +5,10 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb3.inc --source suite/funcs_1/triggers/triggers_09.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test b/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test index b4d29476aa5..bbf226cdea6 100644 --- a/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test +++ b/mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test @@ -14,19 +14,10 @@ let $engine_type= myisam; # - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) # That means all objects have to be (re)created within the current script. -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -# FIXME Replace the following, when "if" for mysqltest is available -let $run= `SELECT @NO_REFRESH = 0`; -while ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb3.inc - - let $run= 0; -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb3.inc --source suite/funcs_1/triggers/triggers_1011ext.inc +DROP TABLE test.tb3; diff --git a/mysql-test/suite/funcs_1/t/myisam_views.test b/mysql-test/suite/funcs_1/t/myisam_views.test index 3fa50a3a2a0..7fc1b991dc6 100644 --- a/mysql-test/suite/funcs_1/t/myisam_views.test +++ b/mysql-test/suite/funcs_1/t/myisam_views.test @@ -5,33 +5,16 @@ # Set $engine_type let $engine_type= myisam; -# Decide, if the objects are to be (re)created -# -# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE) -# That means the current script must not (re)create any object. -# It can expect, that the objects already exist. -# -# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE) -# That means all objects have to be (re)created within the current script. - -eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1); - -let $run= `SELECT @NO_REFRESH = 0`; -if ($run) -{ - - # Create some objects needed in many testcases - USE test; - --source suite/funcs_1/include/myisam_tb2.inc - --disable_warnings - DROP DATABASE IF EXISTS test1; - --enable_warnings - CREATE DATABASE test1; - USE test1; - --source suite/funcs_1/include/myisam_tb2.inc - USE test; - -} +# Create some objects needed in many testcases +USE test; +--source suite/funcs_1/include/myisam_tb2.inc +--disable_warnings +DROP DATABASE IF EXISTS test1; +--enable_warnings +CREATE DATABASE test1; +USE test1; +--source suite/funcs_1/include/myisam_tb2.inc +USE test; let $message= Attention: The nesting level @max_level in Testcase 3.3.1.A6 (Complicated nested VIEWs) has to be limited to 20 because of @@ -40,10 +23,6 @@ let $message= Attention: The nesting level @max_level in Testcase 3.3.1.A6 SET @limit1 = 20; --source suite/funcs_1/views/views_master.inc -# If we created the database in the above loop we now need to drop it -let $run= `SELECT @NO_REFRESH = 0`; -if ($run) -{ - DROP DATABASE IF EXISTS test1; -} +DROP DATABASE test1; +DROP TABLE test.tb2; |