Commit 8c1e2069 authored by unknown's avatar unknown

Fixes for

     Bug#30418 "datadict" tests (all engines) fail: Dependency on the host name
                for ordering
     Bug#30420 "datadict" tests (all engines) fail: Release build has help tables loaded
     Bug#30438 "{memory,myisam,ndb}__datadict" tests fail: Use "InnoDB" without checking
     Bug#30440 "datadict" tests (all engines) fail: Character sets depend on configuration
Attention: Only the build team can check if Bug#30440 is really fixed.


mysql-test/suite/funcs_1/README.txt:
  Update README
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
  1. Exclude the help tables from the INFORMATION_SCHEMA.TABLES
     and the INFORMATION_SCHEMA.STATISTICS selects.
  2. Replace error numbers with error names
  3. Sort some results with mysqltest builtin function
  4. Some other minor changes
mysql-test/suite/funcs_1/r/innodb__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/memory__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/t/innodb__datadict.test:
  Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/t/memory__datadict.test:
  Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/t/myisam__datadict.test:
  Add $OTHER_ENGINE_TYPE variable which is used in data_dict_master.inc.
mysql-test/suite/funcs_1/r/datadict_help_tables_build.result:
  File with expected results
mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result:
  File with expected results
mysql-test/suite/funcs_1/t/datadict_help_tables_build.test:
  Additional test checking the information about the help tables within
         INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
  as compensation for the removed checks within datadict_master.inc.
  Variant for use during build tests (non empty help tables)
mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test:
  Additional test checking the information about the help tables within
         INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
  as compensation for the removed checks within datadict_master.inc.
  Variant for use during development tests (empty help tables)
parent 7388ea3c
......@@ -110,3 +110,25 @@ Carsten 16.09.2005
4. Fixed datadict_<engine>.result files after the change that added 2 columns to
the VIEWS table (DEFINER varchar(77), SECURITY_TYPE varchar(7)).
===================================================================
Matthias 25.08.2007
-------------------
Fixes for Bugs 30418,30420,30438,30440
1. Replace error numbers with error names
2. Replace static "InnoDB" (not all time available) used within an
"alter table" by $OTHER_ENGINE_TYPE (set to MEMORY or MyISAM).
Minor adjustment of column data type.
3. Use mysqltest result set sorting in several cases.
4. Avoid any statistics about help tables, because their content
depends on configuration:
developer release - help tables are empty
build release - help tables have content + growing with version
5. Add two help table related tests (one for build, one for developer)
to ensure that informations about help tables within
INFORMATION_SCHEMA.TABLES/STATISTICS are checked.
General note:
Most INFORMATION_SCHEMA properties (table layout, permissions etc.)
are not affected by our variation of the storage engines except
that some properties of our tables using a specific storage
engine become visible. So it makes sense to decompose
this test into a storage engine specific part and a non
storage engine specific part in future.
DELETE FROM mysql.help_category LIMIT <number>;
DELETE FROM mysql.help_keyword LIMIT <number>;
DELETE FROM mysql.help_relation LIMIT <number>;
DELETE FROM mysql.help_topic LIMIT <number>;
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
NULL mysql help_category BASE TABLE MyISAM 10 Fixed 30 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 320 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 640 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 380 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 30 NULL NULL BTREE
NULL mysql help_category 0 mysql name 1 name A 30 NULL NULL BTREE
NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 320 NULL NULL BTREE
NULL mysql help_keyword 0 mysql name 1 name A 320 NULL NULL BTREE
NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 640 NULL NULL BTREE
NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 380 NULL NULL BTREE
NULL mysql help_topic 0 mysql name 1 name A 380 NULL NULL BTREE
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
###### suite/funcs_1/t/datadict_help_tables_dev.test #####
#
# Check the information about the help tables within
# INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
#
# Variant for use during build tests (non empty help tables)
#
# Creation:
# 2007-08-25 mleich Add this test as compensation for the
# checks removed within datadict_master.inc.
#
let $c_help_category= `SELECT COUNT(*) FROM mysql.help_category`;
let $c_help_keyword= `SELECT COUNT(*) FROM mysql.help_keyword`;
let $c_help_relation= `SELECT COUNT(*) FROM mysql.help_relation`;
let $c_help_topic= `SELECT COUNT(*) FROM mysql.help_topic`;
if (`SELECT $c_help_category + $c_help_keyword + $c_help_relation
+ $c_help_topic = 0`)
{
--skip # Test requires non empty help tables = Build test configuration
}
# We reach this point when we run on a configuration with at least one
# non empty help table.
# 2007-08 MySQL 5.0 row count of the help tables
# help_category help_keyword help_relation help_topic
# 36 395 809 466
# Let's assume for all help tables that their content never dramatic
# shrinks and do some plausibility checks.
let $limit_help_category = 30;
let $limit_help_keyword = 320;
let $limit_help_relation = 640;
let $limit_help_topic = 380;
if (`SELECT $c_help_category < $limit_help_category
OR $c_help_keyword < $limit_help_keyword
OR $c_help_relation < $limit_help_relation
OR $c_help_topic < $limit_help_topic`)
{
--echo # The row count within the help tables is unexepected small.
SELECT COUNT(*), 'exepected: >= $limit_help_category' FROM mysql.help_category;
SELECT COUNT(*), 'exepected: >= $limit_help_keyword' FROM mysql.help_keyword;
SELECT COUNT(*), 'exepected: >= $limit_help_relation' FROM mysql.help_relation;
SELECT COUNT(*), 'exepected: >= $limit_help_topic' FROM mysql.help_topic;
--echo # Either the current help table content (build problem? or
--echo # the expected minimum row count within this script is wrong.
--echo # Abort
exit;
}
# Enforce a static number of rows within the help tables.
let $limit= `SELECT $c_help_category - $limit_help_category`;
--replace_result $limit <number>
eval DELETE FROM mysql.help_category LIMIT $limit;
#
let $limit= `SELECT $c_help_keyword - $limit_help_keyword`;
--replace_result $limit <number>
eval DELETE FROM mysql.help_keyword LIMIT $limit;
#
let $limit= `SELECT $c_help_relation - $limit_help_relation`;
--replace_result $limit <number>
eval DELETE FROM mysql.help_relation LIMIT $limit;
#
let $limit= `SELECT $c_help_topic - $limit_help_topic`;
--replace_result $limit <number>
eval DELETE FROM mysql.help_topic LIMIT $limit;
--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
###### suite/funcs_1/t/datadict_help_tables_dev.test #####
#
# Check the information about the help tables within
# INFORMATION_SCHEMA.TABLES/INFORMATION_SCHEMA.STATISTICS
#
# Variant for use during development (empty help tables)
#
# Creation:
# 2007-08-25 mleich Add this test as compensation for the
# checks removed within datadict_master.inc.
#
let $c_help_category= `SELECT COUNT(*) FROM mysql.help_category`;
let $c_help_keyword= `SELECT COUNT(*) FROM mysql.help_keyword`;
let $c_help_relation= `SELECT COUNT(*) FROM mysql.help_relation`;
let $c_help_topic= `SELECT COUNT(*) FROM mysql.help_topic`;
if (`SELECT $c_help_category + $c_help_keyword + $c_help_relation
+ $c_help_topic > 0`)
{
--skip # Test requires empty help tables = Development test configuration
}
--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss"
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
......@@ -3,5 +3,9 @@
--source include/have_innodb.inc
let $engine_type= innodb;
# $OTHER_ENGINE_TYPE must be
# - <> $engine_type
# - all time available like MyISAM or MEMORY
let $OTHER_ENGINE_TYPE= MEMORY;
--source suite/funcs_1/datadict/datadict_master.inc
#### suite/funcs_1/t/datadict_memory.test
#
let $engine_type= memory;
# $OTHER_ENGINE_TYPE must be
# - <> $engine_type
# - all time available like MyISAM or MEMORY
let $OTHER_ENGINE_TYPE= MyISAM;
--source suite/funcs_1/datadict/datadict_master.inc
#### suite/funcs_1/t/datadict_myisam.test
#
let $engine_type= myisam;
# $OTHER_ENGINE_TYPE must be
# - <> $engine_type
# - all time available like MyISAM or MEMORY
let $OTHER_ENGINE_TYPE= MEMORY;
--source suite/funcs_1/datadict/datadict_master.inc
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment