mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 19:41:47 +01:00
30091e23f9
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
87 lines
2.7 KiB
SQL
87 lines
2.7 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
|
|
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;
|
|
|