[37/50] [abbrv] cassandra git commit: Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement
Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-7190 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6528fbf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6528fbf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6528fbf2 Branch: refs/heads/cassandra-3.8 Commit: 6528fbf250fdd2c75c8f9464e279628234a5fef4 Parents: e6dd152 Author: Alex PetrovAuthored: Wed Apr 20 14:57:52 2016 +0200 Committer: Aleksey Yeschenko Committed: Mon Aug 15 18:31:45 2016 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 7 +- .../apache/cassandra/cql3/ColumnIdentifier.java | 2 +- src/java/org/apache/cassandra/cql3/Cql.g| 11 +- .../cql3/statements/AlterTableStatement.java| 8 +- .../apache/cassandra/db/ColumnFamilyStore.java | 23 + .../db/ColumnFamilyStoreCQLHelper.java | 442 .../org/apache/cassandra/db/Directories.java| 6 + .../unit/org/apache/cassandra/SchemaLoader.java | 5 + .../cql3/validation/operations/AlterTest.java | 71 ++ .../db/ColumnFamilyStoreCQLHelperTest.java | 679 +++ .../schema/LegacySchemaMigratorTest.java| 3 +- 12 files changed, 1248 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7ba8370..a202755 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.9 + * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190) * Fix clean interval not sent to commit log for empty memtable flush (CASSANDRA-12436) * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331) * Backport CASSANDRA-12002 (CASSANDRA-12177) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 5678ada..c0f8d2d 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -954,9 +954,12 @@ public final class CFMetaData return removed; } -public void recordColumnDrop(ColumnDefinition def) +/** + * Adds the column definition as a dropped column, recording the drop with the provided timestamp. + */ +public void recordColumnDrop(ColumnDefinition def, long deleteTimestamp) { -droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, FBUtilities.timestampMicros())); +droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, deleteTimestamp)); } public void renameColumn(ColumnIdentifier from, ColumnIdentifier to) throws InvalidRequestException http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java -- diff --git a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java index 93734e9..afb65e1 100644 --- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java +++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java @@ -328,7 +328,7 @@ public class ColumnIdentifier extends Selectable implements IMeasurableMemory, C } } -static String maybeQuote(String text) +public static String maybeQuote(String text) { if (UNQUOTED_IDENTIFIER.matcher(text).matches()) return text; http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/Cql.g -- diff --git a/src/java/org/apache/cassandra/cql3/Cql.g b/src/java/org/apache/cassandra/cql3/Cql.g index 453a03d..d50b979 100644 --- a/src/java/org/apache/cassandra/cql3/Cql.g +++ b/src/java/org/apache/cassandra/cql3/Cql.g @@ -818,18 +818,21 @@ alterTableStatement returns [AlterTableStatement expr] TableAttributes attrs = new TableAttributes(); Map renames = new HashMap (); boolean isStatic = false; +Long dropTimestamp = null; } : K_ALTER K_COLUMNFAMILY cf=columnFamilyName ( K_ALTER id=cident K_TYPE
[3/6] cassandra git commit: Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement
Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-7190 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6528fbf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6528fbf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6528fbf2 Branch: refs/heads/trunk Commit: 6528fbf250fdd2c75c8f9464e279628234a5fef4 Parents: e6dd152 Author: Alex PetrovAuthored: Wed Apr 20 14:57:52 2016 +0200 Committer: Aleksey Yeschenko Committed: Mon Aug 15 18:31:45 2016 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 7 +- .../apache/cassandra/cql3/ColumnIdentifier.java | 2 +- src/java/org/apache/cassandra/cql3/Cql.g| 11 +- .../cql3/statements/AlterTableStatement.java| 8 +- .../apache/cassandra/db/ColumnFamilyStore.java | 23 + .../db/ColumnFamilyStoreCQLHelper.java | 442 .../org/apache/cassandra/db/Directories.java| 6 + .../unit/org/apache/cassandra/SchemaLoader.java | 5 + .../cql3/validation/operations/AlterTest.java | 71 ++ .../db/ColumnFamilyStoreCQLHelperTest.java | 679 +++ .../schema/LegacySchemaMigratorTest.java| 3 +- 12 files changed, 1248 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7ba8370..a202755 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.9 + * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190) * Fix clean interval not sent to commit log for empty memtable flush (CASSANDRA-12436) * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331) * Backport CASSANDRA-12002 (CASSANDRA-12177) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 5678ada..c0f8d2d 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -954,9 +954,12 @@ public final class CFMetaData return removed; } -public void recordColumnDrop(ColumnDefinition def) +/** + * Adds the column definition as a dropped column, recording the drop with the provided timestamp. + */ +public void recordColumnDrop(ColumnDefinition def, long deleteTimestamp) { -droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, FBUtilities.timestampMicros())); +droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, deleteTimestamp)); } public void renameColumn(ColumnIdentifier from, ColumnIdentifier to) throws InvalidRequestException http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java -- diff --git a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java index 93734e9..afb65e1 100644 --- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java +++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java @@ -328,7 +328,7 @@ public class ColumnIdentifier extends Selectable implements IMeasurableMemory, C } } -static String maybeQuote(String text) +public static String maybeQuote(String text) { if (UNQUOTED_IDENTIFIER.matcher(text).matches()) return text; http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/Cql.g -- diff --git a/src/java/org/apache/cassandra/cql3/Cql.g b/src/java/org/apache/cassandra/cql3/Cql.g index 453a03d..d50b979 100644 --- a/src/java/org/apache/cassandra/cql3/Cql.g +++ b/src/java/org/apache/cassandra/cql3/Cql.g @@ -818,18 +818,21 @@ alterTableStatement returns [AlterTableStatement expr] TableAttributes attrs = new TableAttributes(); Map renames = new HashMap (); boolean isStatic = false; +Long dropTimestamp = null; } : K_ALTER K_COLUMNFAMILY cf=columnFamilyName ( K_ALTER id=cident K_TYPE v=comparatorType {
[1/6] cassandra git commit: Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 e6dd15245 -> 6528fbf25 refs/heads/cassandra-3.9 e72dc29e6 -> de2c449b7 refs/heads/trunk 9df02b927 -> e22170e99 Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-7190 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6528fbf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6528fbf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6528fbf2 Branch: refs/heads/cassandra-3.0 Commit: 6528fbf250fdd2c75c8f9464e279628234a5fef4 Parents: e6dd152 Author: Alex PetrovAuthored: Wed Apr 20 14:57:52 2016 +0200 Committer: Aleksey Yeschenko Committed: Mon Aug 15 18:31:45 2016 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 7 +- .../apache/cassandra/cql3/ColumnIdentifier.java | 2 +- src/java/org/apache/cassandra/cql3/Cql.g| 11 +- .../cql3/statements/AlterTableStatement.java| 8 +- .../apache/cassandra/db/ColumnFamilyStore.java | 23 + .../db/ColumnFamilyStoreCQLHelper.java | 442 .../org/apache/cassandra/db/Directories.java| 6 + .../unit/org/apache/cassandra/SchemaLoader.java | 5 + .../cql3/validation/operations/AlterTest.java | 71 ++ .../db/ColumnFamilyStoreCQLHelperTest.java | 679 +++ .../schema/LegacySchemaMigratorTest.java| 3 +- 12 files changed, 1248 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7ba8370..a202755 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.9 + * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190) * Fix clean interval not sent to commit log for empty memtable flush (CASSANDRA-12436) * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331) * Backport CASSANDRA-12002 (CASSANDRA-12177) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 5678ada..c0f8d2d 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -954,9 +954,12 @@ public final class CFMetaData return removed; } -public void recordColumnDrop(ColumnDefinition def) +/** + * Adds the column definition as a dropped column, recording the drop with the provided timestamp. + */ +public void recordColumnDrop(ColumnDefinition def, long deleteTimestamp) { -droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, FBUtilities.timestampMicros())); +droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, deleteTimestamp)); } public void renameColumn(ColumnIdentifier from, ColumnIdentifier to) throws InvalidRequestException http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java -- diff --git a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java index 93734e9..afb65e1 100644 --- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java +++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java @@ -328,7 +328,7 @@ public class ColumnIdentifier extends Selectable implements IMeasurableMemory, C } } -static String maybeQuote(String text) +public static String maybeQuote(String text) { if (UNQUOTED_IDENTIFIER.matcher(text).matches()) return text; http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/Cql.g -- diff --git a/src/java/org/apache/cassandra/cql3/Cql.g b/src/java/org/apache/cassandra/cql3/Cql.g index 453a03d..d50b979 100644 --- a/src/java/org/apache/cassandra/cql3/Cql.g +++ b/src/java/org/apache/cassandra/cql3/Cql.g @@ -818,18 +818,21 @@ alterTableStatement returns [AlterTableStatement expr] TableAttributes attrs = new TableAttributes(); Map renames = new HashMap
[2/6] cassandra git commit: Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement
Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-7190 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6528fbf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6528fbf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6528fbf2 Branch: refs/heads/cassandra-3.9 Commit: 6528fbf250fdd2c75c8f9464e279628234a5fef4 Parents: e6dd152 Author: Alex PetrovAuthored: Wed Apr 20 14:57:52 2016 +0200 Committer: Aleksey Yeschenko Committed: Mon Aug 15 18:31:45 2016 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/config/CFMetaData.java | 7 +- .../apache/cassandra/cql3/ColumnIdentifier.java | 2 +- src/java/org/apache/cassandra/cql3/Cql.g| 11 +- .../cql3/statements/AlterTableStatement.java| 8 +- .../apache/cassandra/db/ColumnFamilyStore.java | 23 + .../db/ColumnFamilyStoreCQLHelper.java | 442 .../org/apache/cassandra/db/Directories.java| 6 + .../unit/org/apache/cassandra/SchemaLoader.java | 5 + .../cql3/validation/operations/AlterTest.java | 71 ++ .../db/ColumnFamilyStoreCQLHelperTest.java | 679 +++ .../schema/LegacySchemaMigratorTest.java| 3 +- 12 files changed, 1248 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7ba8370..a202755 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.9 + * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190) * Fix clean interval not sent to commit log for empty memtable flush (CASSANDRA-12436) * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331) * Backport CASSANDRA-12002 (CASSANDRA-12177) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 5678ada..c0f8d2d 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -954,9 +954,12 @@ public final class CFMetaData return removed; } -public void recordColumnDrop(ColumnDefinition def) +/** + * Adds the column definition as a dropped column, recording the drop with the provided timestamp. + */ +public void recordColumnDrop(ColumnDefinition def, long deleteTimestamp) { -droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, FBUtilities.timestampMicros())); +droppedColumns.put(def.name.bytes, new DroppedColumn(def.name.toString(), def.type, deleteTimestamp)); } public void renameColumn(ColumnIdentifier from, ColumnIdentifier to) throws InvalidRequestException http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java -- diff --git a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java index 93734e9..afb65e1 100644 --- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java +++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java @@ -328,7 +328,7 @@ public class ColumnIdentifier extends Selectable implements IMeasurableMemory, C } } -static String maybeQuote(String text) +public static String maybeQuote(String text) { if (UNQUOTED_IDENTIFIER.matcher(text).matches()) return text; http://git-wip-us.apache.org/repos/asf/cassandra/blob/6528fbf2/src/java/org/apache/cassandra/cql3/Cql.g -- diff --git a/src/java/org/apache/cassandra/cql3/Cql.g b/src/java/org/apache/cassandra/cql3/Cql.g index 453a03d..d50b979 100644 --- a/src/java/org/apache/cassandra/cql3/Cql.g +++ b/src/java/org/apache/cassandra/cql3/Cql.g @@ -818,18 +818,21 @@ alterTableStatement returns [AlterTableStatement expr] TableAttributes attrs = new TableAttributes(); Map renames = new HashMap (); boolean isStatic = false; +Long dropTimestamp = null; } : K_ALTER K_COLUMNFAMILY cf=columnFamilyName ( K_ALTER id=cident K_TYPE
cassandra git commit: Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement
Repository: cassandra Updated Branches: refs/heads/trunk bdaa53de4 -> a123e984c Add schema to snapshot manifest, add WITH TIMESTAMP to DROP statement Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-7190 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a123e984 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a123e984 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a123e984 Branch: refs/heads/trunk Commit: a123e984c3236b2a188411cad5c29f16e662c369 Parents: bdaa53d Author: Alex PetrovAuthored: Wed Apr 20 14:57:52 2016 +0200 Committer: Aleksey Yeschenko Committed: Fri Jul 29 16:39:03 2016 +0100 -- CHANGES.txt | 1 + src/antlr/Parser.g | 10 +- .../org/apache/cassandra/config/CFMetaData.java | 12 +- .../cql3/statements/AlterTableStatement.java| 26 +- .../apache/cassandra/db/ColumnFamilyStore.java | 22 + .../db/ColumnFamilyStoreCQLHelper.java | 442 .../org/apache/cassandra/db/Directories.java| 6 + .../unit/org/apache/cassandra/SchemaLoader.java | 5 + .../cql3/validation/operations/AlterTest.java | 70 ++ .../db/ColumnFamilyStoreCQLHelperTest.java | 683 +++ .../schema/LegacySchemaMigratorTest.java| 3 +- 11 files changed, 1259 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a123e984/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 27655d2..80063c8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.10 + * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190) * Add beta protocol flag for v5 native protocol (CASSANDRA-12142) * Support filtering on non-PRIMARY KEY columns in the CREATE MATERIALIZED VIEW statement's WHERE clause (CASSANDRA-10368) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a123e984/src/antlr/Parser.g -- diff --git a/src/antlr/Parser.g b/src/antlr/Parser.g index f00f9d0..e762bde 100644 --- a/src/antlr/Parser.g +++ b/src/antlr/Parser.g @@ -777,22 +777,24 @@ alterTableStatement returns [AlterTableStatement expr] TableAttributes attrs = new TableAttributes(); Map renames = new HashMap (); List colNameList = new ArrayList(); +Long deleteTimestamp = null; } : K_ALTER K_COLUMNFAMILY cf=columnFamilyName ( K_ALTER id=cident K_TYPE v=comparatorType { type = AlterTableStatement.Type.ALTER; } { colNameList.add(new AlterTableStatementColumn(id,v)); } | K_ADD ((id=cident v=comparatorType b1=cfisStatic { colNameList.add(new AlterTableStatementColumn(id,v,b1)); }) | ('(' id1=cident v1=comparatorType b1=cfisStatic { colNameList.add(new AlterTableStatementColumn(id1,v1,b1)); } ( ',' idn=cident vn=comparatorType bn=cfisStatic { colNameList.add(new AlterTableStatementColumn(idn,vn,bn)); } )* ')' ) ) { type = AlterTableStatement.Type.ADD; } - | K_DROP ( id=cident { colNameList.add(new AlterTableStatementColumn(id)); } - | ('(' id1=cident { colNameList.add(new AlterTableStatementColumn(id1)); } - ( ',' idn=cident { colNameList.add(new AlterTableStatementColumn(idn)); } )* ')') ) { type = AlterTableStatement.Type.DROP; } + | K_DROP ( ( id=cident { colNameList.add(new AlterTableStatementColumn(id)); } + | ('(' id1=cident { colNameList.add(new AlterTableStatementColumn(id1)); } +( ',' idn=cident { colNameList.add(new AlterTableStatementColumn(idn)); } )* ')') ) + ( K_USING K_TIMESTAMP t=INTEGER { deleteTimestamp = Long.parseLong(Constants.Literal.integer($t.text).getText()); })? ) { type = AlterTableStatement.Type.DROP; } | K_WITH properties[attrs] { type = AlterTableStatement.Type.OPTS; } | K_RENAME { type = AlterTableStatement.Type.RENAME; } id1=cident K_TO toId1=cident { renames.put(id1, toId1); } ( K_AND idn=cident K_TO toIdn=cident { renames.put(idn, toIdn); } )* ) { -$expr = new AlterTableStatement(cf, type, colNameList, attrs, renames); +$expr = new AlterTableStatement(cf, type, colNameList, attrs, renames, deleteTimestamp); } ;