summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/parts/inc/partition_check_read.inc
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/parts/inc/partition_check_read.inc')
-rw-r--r--mysql-test/suite/parts/inc/partition_check_read.inc89
1 files changed, 89 insertions, 0 deletions
diff --git a/mysql-test/suite/parts/inc/partition_check_read.inc b/mysql-test/suite/parts/inc/partition_check_read.inc
new file mode 100644
index 00000000..e42bb9c9
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_check_read.inc
@@ -0,0 +1,89 @@
+################################################################################
+# 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