thread1: create | drop | alter ; query: update ; update: UPDATE table_name SET _field = value WHERE _field = value ; _field: `int_nokey` | `int_nokey` ; table_name: _letter | _table ; value: _digit ; create: CREATE TABLE IF NOT EXISTS _letter ( `int_nokey` INTEGER, `int_key` INTEGER NOT NULL, KEY (`int_key`) ) ENGINE = engine /*!50100 partition */ SELECT `int_nokey` , `int_key` FROM table_name ; drop: DROP TABLE IF EXISTS _letter ; alter: /*!50100 ALTER TABLE _letter alter_operation */; alter_operation: DROP PARTITION partition_name_list ; partition_name_list: partition_name | partition_name | partition_name | partition_name_list; partition_name: p0 | p1 | p2 | p3 ; enable_disable: ENABLE | DISABLE ; engine: MEMORY | MYISAM | INNODB; partition: | partition_by_range | partition_by_list | partition_by_hash | partition_by_key ; partition_by_range: populate_ranges PARTITION BY RANGE ( _field ) ( PARTITION p0 VALUES LESS THAN ( shift_range ), PARTITION p1 VALUES LESS THAN ( shift_range ), PARTITION p2 VALUES LESS THAN ( shift_range ), PARTITION p3 VALUES LESS THAN MAXVALUE ); populate_ranges: { @ranges = sort { $a <=> $b } ($prng->digit(), $prng->fieldType('tinyint_unsigned'), $prng->fieldType('smallint_unsigned')) ; return undef } ; shift_range: { shift @ranges }; partition_by_list: populate_digits PARTITION BY LIST ( _field ) ( PARTITION p0 VALUES IN ( shift_digit, NULL ), PARTITION p1 VALUES IN ( shift_digit, shift_digit, shift_digit ), PARTITION p2 VALUES IN ( shift_digit, shift_digit, shift_digit ), PARTITION p3 VALUES IN ( shift_digit, shift_digit, shift_digit ) ); populate_digits: { @digits = @{$prng->shuffleArray([0..9])} ; return undef }; shift_digit: { shift @digits }; partition_by_hash: PARTITION BY linear HASH ( _field ) PARTITIONS _digit; linear: | LINEAR; partition_by_key: PARTITION BY KEY(`int_key`) PARTITIONS _digit ; partition_item: PARTITION partition_name VALUES PARTITION BY partition_hash_or_key; partition_hash_or_key: HASH ( field_name ) partitions | KEY ( field_name ) partitions ; partitions: PARTITIONS digit ; _digit: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ; _letter: x | y | z ;