mirror of
https://github.com/MariaDB/server.git
synced 2025-02-05 05:12:17 +01:00
a1f630ccfe
- Revert wrongly record embedded result files. These were either recorded with normal server (not embedded) or an embedded server with not default compile option. This can be seen that the committed result file had replication variables which should never happen. - Reverted back change of include/is_embedded.inc. One cannot check for $MYSQL_EMBEDDED as this only tells if there exists an embedded server, not if the current server we are testing is the embedded server. This could easily be verified by doing 'mtr sys_vars.sysvars_server_embedded'. This would fail with a wrong result instead of being marked as skipped as --embedded was not used.
90 lines
2.8 KiB
SQL
90 lines
2.8 KiB
SQL
# 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
|
|
|
|
# The following is needed as embedded server can be compiled with and without
|
|
# privlege tables
|
|
|
|
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;
|