mariadb/mysql-test/suite/parts/inc/partition_check_read.inc
mleich@five.local.lan 12e5d5b6be Fixes for the bugs
Bug#31610 Remove outdated and redundant tests:
                 partition_02myisam partition_03ndb
       Bug#32405 testsuite parts: partition_char_myisam wrong content
and cleanup of testsuite
   - remove/correct wrong comments
   - remove workarounds for fixed bugs
   - replace error numbers with error names
   - exclude subtests from execution which fail now because of
     new limitations for partitioning functions
   - remove code for the no more intended dual use
     fast test in regression tests/slow test in testsuite
   - analyze and fix problems with partition_char_innodb
   - fix problems caused by last change of error numbers
   - Introduce error name to error number mapping which makes
     maintenance after next error renumbering easier
2007-11-20 16:04:07 +01:00

89 lines
3 KiB
PHP

################################################################################
# inc/partition_check_read.inc #
# #
# Purpose: #
# Read table t1 row by row #
# This routine is only useful for the partition_<feature>_<engine> tests. #
# #
# Note: If this routine is successful, at least the following is fullfilled #
# - select single row via $col_to_check basically works -- no crash #
# - the table contains all expected rows #
# #
#------------------------------------------------------------------------------#
# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################
let $success= 1;
## Read all existing records
let $num= `SELECT @max_row`;
while ($num)
{
if ($no_debug)
{
--disable_query_log
}
eval SELECT COUNT(*) <> 1 INTO @aux FROM t1 WHERE $col_to_check = $num;
--enable_query_log
let $run= `SELECT @aux`;
if ($run)
{
--echo # Unexpected result on SELECT
eval SELECT COUNT(*) <> 1 FROM t1 WHERE $col_to_check = $num;
let $success= 0;
}
dec $num;
}
## Read some not existing records
let $num= `SELECT @max_row_div2`;
while ($num)
{
if ($no_debug)
{
--disable_query_log
}
eval SELECT COUNT(*) = 1 INTO @aux FROM t1 WHERE $col_to_check = @max_row + $num;
--enable_query_log
let $run= `SELECT @aux`;
if ($run)
{
--echo # Unexpected result on SELECT
eval SELECT COUNT(*) <> 1 FROM t1 WHERE $col_to_check = @max_row + $num;
let $success= 0;
}
dec $num;
}
let $num= `SELECT @max_row_div2`;
while ($num)
{
if ($no_debug)
{
--disable_query_log
}
eval SELECT COUNT(*) = 1 INTO @aux FROM t1 WHERE $col_to_check = 1 - $num;
--enable_query_log
let $run= `SELECT @aux`;
if ($run)
{
--echo # Unexpected result on SELECT
eval SELECT COUNT(*) <> 1 FROM t1 WHERE $col_to_check = 1 - $num;
let $success= 0;
}
dec $num;
}
if ($no_debug)
{
--disable_query_log
}
--echo # check read via $col_to_check success: $success
# mleich: The following is omitted because of not reported mysqltest bug
# (@max_row time the success message)
if (0)
{
eval SELECT '# check read via $col_to_check success: ' AS "", $success AS "" FROM t1;
}
--enable_query_log