mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	into magare.gmz:/home/kgeorge/mysql/work/B36011-5.1-bugteam sql/sql_select.cc: Auto merged mysql-test/r/subselect.result: merge of bug 36011 to 5.1-bugteam mysql-test/t/subselect.test: merge of bug 36011 to 5.1-bugteam
		
			
				
	
	
		
			126 lines
		
	
	
	
		
			6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
	
		
			6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
################################################################################
 | 
						|
# inc/partition_alter1_2.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 #  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
 | 
						|
}
 | 
						|
 |