summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/parts/inc/partition_layout_check2.inc
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/parts/inc/partition_layout_check2.inc')
-rw-r--r--mysql-test/suite/parts/inc/partition_layout_check2.inc83
1 files changed, 83 insertions, 0 deletions
diff --git a/mysql-test/suite/parts/inc/partition_layout_check2.inc b/mysql-test/suite/parts/inc/partition_layout_check2.inc
new file mode 100644
index 00000000..23e4a9e1
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_layout_check2.inc
@@ -0,0 +1,83 @@
+################################################################################
+# inc/partition_layout_check2.inc #
+# #
+# Purpose: #
+# Store the SHOW CREATE TABLE output and the list of files belonging to #
+# this table + Check if the layout of the table was not modified #
+# since the call of inc/partition_layout_check1.inc #
+# This script is only usefule when sourced within the partitioning tests. #
+# #
+# Attention: The routine inc/partition_layout_check1.inc is very similar #
+# to this one. So if something has to be changed here it #
+# might be necessary to do it also there #
+# #
+#------------------------------------------------------------------------------#
+# Original Author: mleich #
+# Original Date: 2006-03-05 #
+################################################################################
+
+if ($no_debug)
+{
+--disable_query_log
+}
+# Clean the table holding the definition of t1
+DELETE FROM t0_definition WHERE state = 'new';
+
+
+# Get the MySQL Servers datadir without ending slash
+let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`;
+#echo MYSQLD_DATADIR: $MYSQLD_DATADIR;
+
+# Save the current definition of the table t1
+let $show_create= `SHOW CREATE TABLE t1`;
+
+if ($do_file_tests)
+{
+ # List the files belonging to the table t1
+ let $ls_file= $MYSQLD_DATADIR/test/tmp2;
+ --list_files_write_file $ls_file $MYSQLD_DATADIR/test t1*
+ --chmod 0644 $ls_file
+ if ($with_directories)
+ {
+ --list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-data-dir t1*
+ --list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-idx-dir t1*
+ }
+ eval SET @aux = load_file('$ls_file');
+
+ # clean up
+ --remove_file $ls_file
+}
+if (!$do_file_tests)
+{
+ SET @aux = '--- not determined ---';
+}
+
+# Insert the current definition of the table t1 into t0_definition
+eval INSERT INTO t0_definition SET state = 'new',
+ create_command = "$show_create",
+ file_list = @aux;
+
+# Print the old and new table layout, if they differ
+SELECT COUNT(*) <> 1 INTO @aux
+FROM t0_definition tab1, t0_definition tab2
+WHERE tab1.state = 'old' AND tab2.state = 'new'
+ AND tab1.create_command = tab2.create_command
+ AND tab1.file_list = tab2.file_list;
+let $run= `SELECT @aux`;
+if ($run)
+{
+ --vertical_results
+ --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR #p# #P# #sp# #SP#
+ SELECT state,
+ REPLACE(create_command,'\n',' ') AS "Table definition",
+ REPLACE(file_list ,'\n',' ') AS "File list"
+ FROM t0_definition WHERE state in ('old','new');
+ --horizontal_results
+ --echo # check layout success: 0
+}
+let $run= `SELECT @aux = 0`;
+if ($run)
+{
+ --echo # check layout success: 1
+}
+--enable_query_log