1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-04 06:05:05 +03:00
mariadb/mysql-test/suite/funcs_1/datadict/charset_collation.inc
Alfranio Correia c763a17461 Several fixes in funcs_1 suite:
1 - MASTER_MYSOCK fixed inexistent environment variable.
  2 - Fixed mismatch in result files due to changes in MTR.
2009-02-01 17:15:58 +00:00

136 lines
4.9 KiB
SQL

# 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, 2008-06 MySQL 5.1
# ---------------------------------------------------------------------
#
# 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)
# version_comment MySQL Advanced Server (GPL) 5.1
# version_comment MySQL Advanced Server (Commercial) 5.1
#
# Difference between variant 3 and 2 is within the collation properties
# IS_COMPILED and SORTLEN.
#
# 2008-06 All time excluded variant is "vanilla".
# How to build "vanilla":
# ./BUILD/autorun.sh
# ./configure
# ./make
# Some properties of "vanilla"
# version_comment Source distribution
# Compared to the variants 1 to 3 a lot of character sets are missing.
# Example: "ucs2_bin" is in variant 1 to 3 but not in "vanilla".
#
# 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)
let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1);
--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;