Commit 9d7aac9c authored by Mattias Jonsson's avatar Mattias Jonsson

merge

parents 9a86c500 fbd8f03d
################################################################################
# inc/partition_alter2.inc #
# inc/partition_alter2_1.inc #
# #
# Purpose: #
# Tests where the columns used within the partitioning function are altered. #
# This routine is only useful for the partition_<feature>_<engine> tests. .#
# Part 1: increasing size of column
# #
#------------------------------------------------------------------------------#
# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
# Change Author: MattiasJ #
# Change Date: 2008-09-08 #
# Change: Splitted the test in two different parts (increasing/decreasing col) #
################################################################################
--echo
......@@ -140,133 +141,6 @@ let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
--echo
--echo #========================================================================
--echo # 2 Decrease the size of the column used in the partitioning
--echo # function and/or PRIMARY KEY and/or UNIQUE INDEX
--echo #========================================================================
--echo #------------------------------------------------------------------------
--echo # 2.1 ALTER column f_int2 not used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
# ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
--echo # 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
#
if ($do_pk_tests)
{
# The value of the direct following test is maybe covered by the test with
# the PRIMARY KEY containing two columns.
if ($more_pk_ui_tests)
{
--echo # 2.1.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
#
--echo # 2.1.3 UNIQUE INDEX exists
# The value of the direct following test is maybe covered by the test with
# the UNIQUE INDEX containing two columns.
if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx1 (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
#
if ($more_pk_ui_tests)
{
# The value of the tests 2.2 is maybe covered by the tests 2.3
--echo #------------------------------------------------------------------------
--echo # 2.2 ALTER column f_int1 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
# ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT;
--echo # 2.2.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
#
if ($do_pk_tests)
{
--echo # 2.2.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
}
#
--echo # 2.2.3 UNIQUE INDEX exists
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
}
#
--echo #------------------------------------------------------------------------
--echo # 2.3 ALTER column f_int1 and f_int2 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: f_int1 and f_int2 is used within the partitioning function
# ---> inc/partition_alter_13.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
--echo # 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
#
if ($do_pk_tests)
{
--echo # 2.3.2 PRIMARY KEY exists
# The value of the direct following test is maybe covered by the test with
# the PRIMARY KEY containing two columns.
if ($more_pk_ui_tests)
{
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
}
#
--echo # 2.3.3 UNIQUE INDEX exists
# The value of the direct following test is maybe covered by the test with
# the UNIQUE INDEX containing two columns.
if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
#
if (0)
{
--echo
......
################################################################################
# inc/partition_alter2_2.inc #
# #
# Purpose: #
# Tests where the columns used within the partitioning function are altered. #
# This routine is only useful for the partition_<feature>_<engine> tests. .#
# Part 2: decreasing size of column
# #
#------------------------------------------------------------------------------#
# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: MattiasJ #
# Change Date: 2008-09-08 #
# Change: Splitted the test in two different parts (increasing/decreasing col) #
################################################################################
--echo
--echo #========================================================================
--echo # 2 Decrease the size of the column used in the partitioning
--echo # function and/or PRIMARY KEY and/or UNIQUE INDEX
--echo #========================================================================
--echo #------------------------------------------------------------------------
--echo # 2.1 ALTER column f_int2 not used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
# ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int2 MEDIUMINT;
--echo # 2.1.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
#
if ($do_pk_tests)
{
# The value of the direct following test is maybe covered by the test with
# the PRIMARY KEY containing two columns.
if ($more_pk_ui_tests)
{
--echo # 2.1.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
#
--echo # 2.1.3 UNIQUE INDEX exists
# The value of the direct following test is maybe covered by the test with
# the UNIQUE INDEX containing two columns.
if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx1 (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
#
if ($more_pk_ui_tests)
{
# The value of the tests 2.2 is maybe covered by the tests 2.3
--echo #------------------------------------------------------------------------
--echo # 2.2 ALTER column f_int1 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: Only f_int1 is used within the partitioning function
# ---> inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT;
--echo # 2.2.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
#
if ($do_pk_tests)
{
--echo # 2.2.2 PRIMARY KEY exists
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
}
#
--echo # 2.2.3 UNIQUE INDEX exists
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
}
#
--echo #------------------------------------------------------------------------
--echo # 2.3 ALTER column f_int1 and f_int2 used in partitioning function
--echo #------------------------------------------------------------------------
# Rule: f_int1 and f_int2 is used within the partitioning function
# ---> inc/partition_alter_13.inc
let $alter= ALTER TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
--echo # 2.3.1 no PRIMARY KEY or UNIQUE INDEX exists
let $unique= ;
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
#
if ($do_pk_tests)
{
--echo # 2.3.2 PRIMARY KEY exists
# The value of the direct following test is maybe covered by the test with
# the PRIMARY KEY containing two columns.
if ($more_pk_ui_tests)
{
let $unique= , PRIMARY KEY (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , PRIMARY KEY (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , PRIMARY KEY (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
}
#
--echo # 2.3.3 UNIQUE INDEX exists
# The value of the direct following test is maybe covered by the test with
# the UNIQUE INDEX containing two columns.
if ($more_pk_ui_tests)
{
let $unique= , UNIQUE INDEX uidx (f_int1);
--source suite/parts/inc/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
--source suite/parts/inc/partition_alter_13.inc
#
if (0)
{
--echo
--echo #========================================================================
--echo # 3 ALTER the type of the column used in the partitioning
--echo # function and/or PRIMARY KEY and/or UNIQUE INDEX
--echo # INTEGER --> FLOAT
--echo # INTEGER --> DECIMAL
--echo # INTEGER --> VARCHAR
--echo # mleich: I assume that at least the first two variants are of
--echo # some interest. But I am unsure if the server allows such
--echo # conversions. I also think that such operations have a
--echo # conversions very small likelihood.
--echo # To be implemented.
--echo #========================================================================
}
This diff is collapsed.
This diff is collapsed.
partition_alter2_ndb : Bug#18735 Not supported
partition_basic_ndb : Bug#19899 Crashing the server
# http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations-syntax.html
partition_bit_ndb : NDB does not support bit column in index
......
################################################################################
# t/partition_alter2_innodb.test #
# t/partition_alter2_1_innodb.test #
# #
# Purpose: #
# Tests around Alter column used in partitioning function #
......@@ -70,7 +70,7 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2.inc
--source suite/parts/inc/partition_alter2_1.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
......
################################################################################
# t/partition_alter2_myisam.test #
# t/partition_alter2_1_myisam.test #
# #
# Purpose: #
# Tests around Alter column used in partitioning function #
......@@ -69,7 +69,7 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2.inc
--source suite/parts/inc/partition_alter2_1.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
......
################################################################################
# t/partition_alter2_ndb.test #
# t/partition_alter2_2_innodb.test #
# #
# Purpose: #
# Tests around Alter column used in partitioning function #
# NDB branch #
# InnoDB branch #
# #
#------------------------------------------------------------------------------#
# Original Author: mleich #
......@@ -14,7 +14,7 @@
################################################################################
#
# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
# THE SOURCED FILES ONLY.
#
......@@ -40,35 +40,26 @@ SET @max_row = 20;
let $more_trigger_tests= 0;
let $more_pk_ui_tests= 0;
# The server must support partitioning. But NDB is partitioned from the start.
# Thats why the next line is set to comment.
# --source include/have_partition.inc
# The server must support partitioning.
--source include/have_partition.inc
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
##### Storage engine to be tested
--source include/have_ndb.inc
let $engine= 'ndbcluster';
connection default;
# range, list and hash partitioning in ndb requires new_mode
--disable_query_log
set new=on;
--enable_query_log
--source include/have_innodb.inc
let $engine= 'InnoDB';
##### Execute the test of "table" files
# NDB has no files per PK, UI, ...
# InnoDB has no files per PK, UI, ...
let $do_file_tests= 0;
##### Execute PRIMARY KEY tests #####
# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
# or uses an internal one.
# AFAIK InnoDB clusters the table around PRIMARY KEYs.
let $do_pk_tests= 1;
##### Assign a big number smaller than the maximum value for partitions #####
# and smaller than the maximum value of SIGNED INTEGER
# The NDB handler only supports 32 bit integers in VALUES
# 2147483647 seems to be too big.
let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
......@@ -79,7 +70,7 @@ let $MAX_VALUE= (2147483646);
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2.inc
--source suite/parts/inc/partition_alter2_2.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
......
################################################################################
# t/partition_alter2_2_myisam.test #
# #
# Purpose: #
# Tests around Alter column used in partitioning function #
# MyISAM branch #
# #
#------------------------------------------------------------------------------#
# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################
#
# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
# THE SOURCED FILES ONLY.
#
# Please read the README at the end of inc/partition.pre before changing
# any of the variables.
#
#------------------------------------------------------------------------------#
# General not engine specific settings and requirements
##### Options, for debugging support #####
let $debug= 0;
let $with_partitioning= 1;
##### Option, for displaying files #####
let $ls= 1;
##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
# on partioned tables
SET @max_row = 20;
##### Execute more tests #####
let $more_trigger_tests= 0;
let $more_pk_ui_tests= 0;
# The server must support partitioning.
--source include/have_partition.inc
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
##### Storage engine to be tested
let $engine= 'MyISAM';
##### Execute the test of "table" files
# MyISAM has files per PK, UI, ...
let $do_file_tests= 1;
##### Execute PRIMARY KEY tests #####
# AFAIK MyISAM treats PRIMARY KEYs like UNIQUE INDEXes
let $do_pk_tests= 0;
##### Assign a big number smaller than the maximum value for partitions #####
# and smaller than the maximum value of SIGNED INTEGER
let $MAX_VALUE= (2147483646);
# Generate the prerequisites ($variables, @variables, tables) needed
--source suite/parts/inc/partition.pre
##### Workarounds for known open engine specific bugs
# none
#------------------------------------------------------------------------------#
# Execute the tests to be applied to all storage engines
--source suite/parts/inc/partition_alter2_2.inc
#------------------------------------------------------------------------------#
# Execute storage engine specific tests
#------------------------------------------------------------------------------#
# Cleanup
--source suite/parts/inc/partition_cleanup.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