Commit 63a5bceb authored by pcrews@pcrews-mac-local.local's avatar pcrews@pcrews-mac-local.local
Browse files

Bug#35744 - Test 'partition_alter1_innodb' times out on multiple platforms.

Split the test into 3 smaller parts, reducing single test run time.

NDB variant still disabled. The runtime for a single test is greater than the runtime
for the Innodb variant that was timing out.  The test works, but disabled for Build systems.
parent 92048588
Loading
Loading
Loading
Loading

.bzrignore

deleted100644 → 0
+0 −3030

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −207
Original line number Diff line number Diff line
################################################################################
# inc/partition_alter1.inc                                                     #
#                                                                              #
# Purpose:                                                                     #
#   ADD/DROP PRIMARY KEYs and/or UNIQUE INDEXes tests on partitioned tables    #
#   This routine is only useful for the partition_<feature>_<engine> tests.    #
#                                                                              #
#------------------------------------------------------------------------------#
# Original Author: mleich                                                      #
# Original Date: 2006-03-05                                                    #
# Change Author:                                                               #
# Change Date:                                                                 #
# Change:                                                                      #
################################################################################

--echo
--echo #========================================================================
--echo #  1.    ALTER TABLE ADD PRIMARY KEY and/or UNIQUE INDEX
--echo #========================================================================
#         Rule: The table does not have a PRIMARY KEY or UNIQUE INDEX.
#               ---> $unique must be empty
#               ---> The PRIMARY KEY or UNIQUE INDEX to be created must contain
#                     the columns used for partitioning.
--echo #------------------------------------------------------------------------
--echo #  1.1   ADD PRIMARY KEY or UNIQUE INDEX to table with one column (f_int1)
--echo #        within the partitioning function
--echo #------------------------------------------------------------------------
#         Rule: Only f_int1 is used within the partitioning function
#         ---> inc/partition_alter_11.inc
if ($do_pk_tests)
{
   # The value of the following test is maybe covered by 1.1.3.
   if ($more_pk_ui_tests)
   {
      --echo #  1.1.1 PRIMARY KEY consisting of one column
      let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1);
      --source suite/parts/inc/partition_alter_11.inc
   }
   # This must fail, because PRIMARY KEY does not contain f_int1
   let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
   --source suite/parts/inc/partition_alter_11.inc
}
# The value of the following test is maybe covered by 1.1.4.
if ($more_pk_ui_tests)
{
   --echo #  1.1.2 UNIQUE INDEX consisting of one column
   let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1);
   --source suite/parts/inc/partition_alter_11.inc
}
# This must fail, because UNIQUE INDEX does not contain f_int1
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
--source suite/parts/inc/partition_alter_11.inc
if ($do_pk_tests)
{
   --echo #  1.1.3 PRIMARY KEY consisting of two columns
   let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
   --source suite/parts/inc/partition_alter_11.inc
   let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
   --source suite/parts/inc/partition_alter_11.inc
}
--echo #  1.1.4 UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_11.inc
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_11.inc
#
--echo #------------------------------------------------------------------------
--echo #  1.2   ADD PRIMARY KEY or UNIQUE INDEX to table with two columns
--echo #        (f_int1 and f_int2) within the partitioning function
--echo #------------------------------------------------------------------------
#         Rule: f_int1 and f_int2 is used within the partitioning function
#         ---> inc/partition_alter_13.inc
if ($do_pk_tests)
{
   --echo #  1.2.1 PRIMARY KEY consisting of two columns
   let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
   --source suite/parts/inc/partition_alter_13.inc
   let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
   --source suite/parts/inc/partition_alter_13.inc
}
--echo #  1.2.2 UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
if ($do_pk_tests)
{
   --echo #  1.2.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
   let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
   --source suite/parts/inc/partition_alter_13.inc
   let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
   --source suite/parts/inc/partition_alter_13.inc
   let $unique= ;
   --source suite/parts/inc/partition_alter_13.inc
}
#
#
--echo
--echo #========================================================================
--echo #  2     DROP PRIMARY KEY or UNIQUE INDEX
--echo #========================================================================
#         Rule: The table must have a PRIMARY KEY or UNIQUE INDEX.
#               ---> $unique must not be empty
#               ---> The PRIMARY KEY or UNIQUE INDEX to be dropped must contain
#                    the columns used for partitioning.
--echo #------------------------------------------------------------------------
--echo #  2.1   Partitioning function contains one column(f_int1)
--echo #------------------------------------------------------------------------
#         Rule: Only f_int1 is used within the partitioning function
#         ---> inc/partition_alter_11.inc
# The value of the following test is maybe covered by 2.1.5.
if ($more_pk_ui_tests)
{
   if ($do_pk_tests)
   {
      --echo #  2.1.1 DROP PRIMARY KEY consisting of one column
      let $unique= , PRIMARY KEY(f_int1);
      let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
      --source suite/parts/inc/partition_alter_11.inc
   }
   #
   --echo #  2.1.2 DROP UNIQUE INDEX consisting of one column
   let $unique= , UNIQUE INDEX uidx1 (f_int1);
   let $alter= ALTER TABLE t1 DROP INDEX uidx1;
   --source suite/parts/inc/partition_alter_11.inc
   #
   if ($do_pk_tests)
   {
      --echo #  2.1.3 DROP PRIMARY KEY consisting of two columns
      let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
      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.4 DROP UNIQUE INDEX consisting of two columns
   let $alter= ALTER TABLE t1 DROP INDEX uidx1;
   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 ($do_pk_tests)
{
   --echo #  2.1.5 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
   let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
   --source suite/parts/inc/partition_alter_11.inc
   let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
   --source suite/parts/inc/partition_alter_11.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
--source suite/parts/inc/partition_alter_11.inc
#
--echo #------------------------------------------------------------------------
--echo #  2.2   Partitioning function contains two columns (f_int1,f_int2)
--echo #------------------------------------------------------------------------
#         Rule: f_int1 and f_int2 is used within the partitioning function
#         ---> inc/partition_alter_13.inc
if ($do_pk_tests)
{
   --echo #  2.2.1 DROP PRIMARY KEY consisting of two columns
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
   let $unique= , PRIMARY KEY(f_int1,f_int2);
   --source suite/parts/inc/partition_alter_13.inc
   let $unique= , PRIMARY KEY(f_int2,f_int1);
   --source suite/parts/inc/partition_alter_13.inc
}
#
--echo #  2.2.2 DROP UNIQUE INDEX consisting of two columns
let $alter= ALTER TABLE t1 DROP INDEX uidx1;
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
--source suite/parts/inc/partition_alter_13.inc
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
--source suite/parts/inc/partition_alter_13.inc
#
if ($do_pk_tests)
{
   --echo #  2.2.3 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
   let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
   --source suite/parts/inc/partition_alter_13.inc
   let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
   --source suite/parts/inc/partition_alter_13.inc
}
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
--source suite/parts/inc/partition_alter_13.inc

if (0)
{
--echo
--echo #========================================================================
--echo #  3.    ALTER TABLE "ALTER" PRIMARY KEY
--echo #        mleich: I think that an ALTER TABLE statement where a PRIMARY
--echo #            KEY is dropped and recreated (with different layout) might
--echo #            be of interest, if the tree containing the table data has
--echo #            to be reorganized during this operation.
--echo #        To be implemented
--echo #========================================================================
--echo
}
+0 −80140

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −32402

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −20
Original line number Diff line number Diff line
ndb_blob_partition             : cannot create t1
ndb_dd_backuprestore           : cannot create t1
ndb_partition_error            : cannot create t1
ndb_partition_list             : cannot create t1
ndb_partition_range            : cannot create t1
part_supported_sql_func_ndb    : cannot create t1
partition_alter1_ndb           : timeout. Needs too much time.
partition_alter2_ndb           : cannot create t1
partition_basic_ndb            : cannot create t1
partition_bit_ndb              : cannot create t1
partition_engine_ndb           : cannot create t1
partition_int_ndb              : cannot create t1
partition_sessions             : needs system_3_init.inc
partition_syntax_ndb           : cannot create t1
partition_value_innodb         : Bug#30581 partition_value tests use disallowed CAST() function
partition_value_myisam         : Bug#30581 partition_value tests use disallowed CAST() function
partition_value_ndb            : cannot create t1
rpl_ndb_dd_partitions          : cannot create t1
partition_alter4_myisam        : Bug#20129 / WL#4176
partition_alter4_innodb        : Bug#20129 / WL#4176
Loading