DBZ-1113 allow adding multiple partitions in a single statement

This commit is contained in:
Joy Gao 2019-01-29 19:08:41 -08:00 committed by Gunnar Morling
parent cc0df61665
commit 030cf9ac14
3 changed files with 17 additions and 2 deletions

View File

@ -1268,7 +1268,9 @@ protected void parseAlterSpecification(Marker start, TableEditor table, Consumer
tokens.canConsume("COLUMN");
parseCreateDefinitionList(start, table);
} else if (tokens.canConsume("PARTITION", "(")) {
do {
parsePartitionDefinition(start, table);
} while (tokens.canConsume(','));
tokens.consume(')');
} else {
parseCreateDefinition(start, table, true);

View File

@ -379,6 +379,16 @@ public void parseAddPartition() {
assertThat(tables.forTable(new TableId(null, null, "flat_view_request_log"))).isNotNull();
}
@Test
@FixFor("DBZ-1113")
public void parseAddMultiplePartitions() {
String ddl =
"CREATE TABLE test (id INT, PRIMARY KEY (id));"
+ "ALTER TABLE test ADD PARTITION (PARTITION p1 VALUES LESS THAN (10), PARTITION p_max VALUES LESS THAN MAXVALUE);";
parser.parse(ddl, tables);
assertThat(tables.size()).isEqualTo(1);
}
@Test
@FixFor("DBZ-688")
public void parseGeomCollection() {

View File

@ -629,7 +629,10 @@ alterSpecification
| IMPORT TABLESPACE #alterByImportTablespace
| FORCE #alterByForce
| validationFormat=(WITHOUT | WITH) VALIDATION #alterByValidate
| ADD PARTITION '(' partitionDefinition ')' #alterByAddPartition
| ADD PARTITION
'('
partitionDefinition (',' partitionDefinition)*
')' #alterByAddPartition
| DROP PARTITION uidList #alterByDropPartition
| DISCARD PARTITION (uidList | ALL) TABLESPACE #alterByDiscardPartition
| IMPORT PARTITION (uidList | ALL) TABLESPACE #alterByImportPartition