1 # suite/funcs_1/datadict/is_columns.inc
3 # Auxiliary script to be sourced by
9 # Check the content of information_schema.columns about tables within certain
13 # The variable $my_where has to
14 # - be set before sourcing this script.
15 # - contain the first part of the WHERE qualification
17 # let $my_where = WHERE table_schema = 'information_schema'
18 # AND table_name <> 'profiling';
19 # --source suite/funcs_1/datadict/is_columns.inc
22 # 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
24 # Create this script based on older scripts and new code.
27 --source suite/funcs_1/datadict/datadict_bug_12777.inc
29 SELECT * FROM information_schema.columns
33 --echo ##########################################################################
34 --echo # Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
35 --echo ##########################################################################
38 CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
42 FROM information_schema.columns
44 AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
45 ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
47 #FIXME 3.2.6.2: check the value 2.0079 tinytext ucs2 ucs2_general_ci
50 CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
54 FROM information_schema.columns
56 AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
57 ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
61 CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
65 FROM information_schema.columns
67 AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
68 ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
70 echo --> CHAR(0) is allowed (see manual), and here
both CHARACHTER_* values;
71 echo --> are 0, which is intended behavior, and the result of 0 / 0 IS NULL;
72 --source suite/funcs_1/datadict/datadict_bug_12777.inc
74 SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
79 CHARACTER_MAXIMUM_LENGTH,
80 CHARACTER_OCTET_LENGTH,
84 FROM information_schema.columns
86 ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;