# 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;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
basics_mixed1.inc | File | 1.74 KB | 0644 |
|
basics_mixed2.inc | File | 2.21 KB | 0644 |
|
basics_mixed3.inc | File | 1.95 KB | 0644 |
|
columns.inc | File | 2.73 KB | 0644 |
|
datadict.pre | File | 2.08 KB | 0644 |
|
datadict_bug_12777.inc | File | 1.8 KB | 0644 |
|
datadict_load.inc | File | 4.16 KB | 0644 |
|
datadict_priv.inc | File | 3.34 KB | 0644 |
|
is_key_column_usage.inc | File | 14.01 KB | 0644 |
|
is_routines.inc | File | 18.85 KB | 0644 |
|
is_schemata.inc | File | 10.82 KB | 0644 |
|
is_table_query.inc | File | 1.29 KB | 0644 |
|
is_tables.inc | File | 18.3 KB | 0644 |
|
is_triggers.inc | File | 10.45 KB | 0644 |
|
is_views.inc | File | 11.8 KB | 0644 |
|
processlist_priv.inc | File | 24.41 KB | 0644 |
|
processlist_val.inc | File | 18.49 KB | 0644 |
|
statistics.inc | File | 1.61 KB | 0644 |
|
table_constraints.inc | File | 1.42 KB | 0644 |
|
tables.inc | File | 1.73 KB | 0644 |
|
tables1.inc | File | 1.15 KB | 0644 |
|
tables2.inc | File | 1.78 KB | 0644 |
|