Skip to content

Commit 457b3de

Browse files
authored
[FLINK-38791][table] Add support for ALTER MATERIALIZED TABLE MODIFY
1 parent c028790 commit 457b3de

File tree

128 files changed

+750
-282
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+750
-282
lines changed

flink-table/flink-sql-parser/src/main/codegen/data/Parser.tdd

Lines changed: 65 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -31,93 +31,95 @@
3131
"org.apache.flink.sql.parser.ddl.resource.SqlResource"
3232
"org.apache.flink.sql.parser.ddl.resource.SqlResourceType"
3333
"org.apache.flink.sql.parser.ddl.SqlAddJar"
34-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDistribution.SqlAlterTableAddDistribution"
35-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDistribution.SqlAlterTableModifyDistribution"
3634
"org.apache.flink.sql.parser.ddl.SqlAddPartitions"
3735
"org.apache.flink.sql.parser.ddl.SqlAddPartitions.AlterTableAddPartitionContext"
38-
"org.apache.flink.sql.parser.ddl.SqlAlterCatalog"
39-
"org.apache.flink.sql.parser.ddl.SqlAlterCatalogOptions"
40-
"org.apache.flink.sql.parser.ddl.SqlAlterCatalogReset"
41-
"org.apache.flink.sql.parser.ddl.SqlAlterCatalogComment"
42-
"org.apache.flink.sql.parser.ddl.SqlAlterConnection"
43-
"org.apache.flink.sql.parser.ddl.SqlAlterConnectionRename"
44-
"org.apache.flink.sql.parser.ddl.SqlAlterConnectionReset"
45-
"org.apache.flink.sql.parser.ddl.SqlAlterConnectionSet"
36+
"org.apache.flink.sql.parser.ddl.catalog.SqlAlterCatalog"
37+
"org.apache.flink.sql.parser.ddl.catalog.SqlAlterCatalogOptions"
38+
"org.apache.flink.sql.parser.ddl.catalog.SqlAlterCatalogReset"
39+
"org.apache.flink.sql.parser.ddl.catalog.SqlAlterCatalogComment"
40+
"org.apache.flink.sql.parser.ddl.catalog.SqlCreateCatalog"
41+
"org.apache.flink.sql.parser.ddl.catalog.SqlDropCatalog"
42+
"org.apache.flink.sql.parser.ddl.catalog.SqlUseCatalog"
43+
"org.apache.flink.sql.parser.ddl.connection.SqlAlterConnection"
44+
"org.apache.flink.sql.parser.ddl.connection.SqlAlterConnectionRename"
45+
"org.apache.flink.sql.parser.ddl.connection.SqlAlterConnectionReset"
46+
"org.apache.flink.sql.parser.ddl.connection.SqlAlterConnectionSet"
47+
"org.apache.flink.sql.parser.ddl.connection.SqlCreateConnection"
48+
"org.apache.flink.sql.parser.ddl.connection.SqlDropConnection"
49+
"org.apache.flink.sql.parser.dql.SqlRichDescribeConnection"
4650
"org.apache.flink.sql.parser.ddl.SqlAlterDatabase"
4751
"org.apache.flink.sql.parser.ddl.SqlAlterFunction"
48-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTable"
49-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableDistribution.SqlAlterMaterializedTableAddDistribution"
50-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableDistribution.SqlAlterMaterializedTableModifyDistribution"
51-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableDropDistribution"
52-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableAsQuery"
53-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableFreshness"
54-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableOptions"
55-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableRefreshMode"
56-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableReset"
57-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableRefresh"
58-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableResume"
59-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableSuspend"
60-
"org.apache.flink.sql.parser.ddl.SqlAlterMaterializedTableSchema.SqlAlterMaterializedTableAddSchema"
61-
"org.apache.flink.sql.parser.ddl.SqlAlterModel"
62-
"org.apache.flink.sql.parser.ddl.SqlAlterModelRename"
63-
"org.apache.flink.sql.parser.ddl.SqlAlterModelReset"
64-
"org.apache.flink.sql.parser.ddl.SqlAlterModelSet"
65-
"org.apache.flink.sql.parser.ddl.SqlAlterTable"
52+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTable"
53+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableDistribution.SqlAlterMaterializedTableAddDistribution"
54+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableDistribution.SqlAlterMaterializedTableModifyDistribution"
55+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableDropDistribution"
56+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableAsQuery"
57+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableFreshness"
58+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableOptions"
59+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableRefreshMode"
60+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableReset"
61+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableRefresh"
62+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableResume"
63+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableSuspend"
64+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableSchema.SqlAlterMaterializedTableAddSchema"
65+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlAlterMaterializedTableSchema.SqlAlterMaterializedTableModifySchema"
66+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlCreateOrAlterMaterializedTable"
67+
"org.apache.flink.sql.parser.ddl.materializedtable.SqlDropMaterializedTable"
68+
"org.apache.flink.sql.parser.ddl.model.SqlAlterModel"
69+
"org.apache.flink.sql.parser.ddl.model.SqlAlterModelRename"
70+
"org.apache.flink.sql.parser.ddl.model.SqlAlterModelReset"
71+
"org.apache.flink.sql.parser.ddl.model.SqlAlterModelSet"
6672
"org.apache.flink.sql.parser.ddl.TableSchemaContext"
6773
"org.apache.flink.sql.parser.ddl.TableSchemaContext.AlterTableSchemaContext"
68-
"org.apache.flink.sql.parser.ddl.SqlAlterTableAdd"
69-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDropColumn"
70-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDropConstraint"
71-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDropDistribution"
72-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDropPrimaryKey"
73-
"org.apache.flink.sql.parser.ddl.SqlAlterTableDropWatermark"
74-
"org.apache.flink.sql.parser.ddl.SqlAlterTableModify"
75-
"org.apache.flink.sql.parser.ddl.SqlAlterTableOptions"
76-
"org.apache.flink.sql.parser.ddl.SqlAlterTableRename"
77-
"org.apache.flink.sql.parser.ddl.SqlAlterTableRenameColumn"
78-
"org.apache.flink.sql.parser.ddl.SqlAlterTableReset"
79-
"org.apache.flink.sql.parser.ddl.SqlAlterView"
80-
"org.apache.flink.sql.parser.ddl.SqlAlterViewAs"
81-
"org.apache.flink.sql.parser.ddl.SqlAlterViewRename"
74+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTable"
75+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableAdd"
76+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDistribution.SqlAlterTableAddDistribution"
77+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDistribution.SqlAlterTableModifyDistribution"
78+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDropColumn"
79+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDropConstraint"
80+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDropDistribution"
81+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDropPrimaryKey"
82+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableDropWatermark"
83+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableModify"
84+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableOptions"
85+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableRename"
86+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableRenameColumn"
87+
"org.apache.flink.sql.parser.ddl.table.SqlAlterTableReset"
88+
"org.apache.flink.sql.parser.ddl.table.SqlAnalyzeTable"
89+
"org.apache.flink.sql.parser.ddl.table.SqlCreateTable"
90+
"org.apache.flink.sql.parser.ddl.table.SqlCreateTableAs"
91+
"org.apache.flink.sql.parser.ddl.table.SqlCreateTableLike"
92+
"org.apache.flink.sql.parser.ddl.table.SqlDropTable"
93+
"org.apache.flink.sql.parser.ddl.table.SqlTableLike"
94+
"org.apache.flink.sql.parser.ddl.table.SqlTableLike.FeatureOption"
95+
"org.apache.flink.sql.parser.ddl.table.SqlTableLike.MergingStrategy"
96+
"org.apache.flink.sql.parser.ddl.table.SqlTableLike.SqlTableLikeOption"
97+
"org.apache.flink.sql.parser.ddl.view.SqlAlterView"
98+
"org.apache.flink.sql.parser.ddl.view.SqlAlterViewAs"
99+
"org.apache.flink.sql.parser.ddl.view.SqlAlterViewRename"
82100
"org.apache.flink.sql.parser.ddl.SqlCompilePlan"
83-
"org.apache.flink.sql.parser.ddl.SqlCreateCatalog"
84-
"org.apache.flink.sql.parser.ddl.SqlCreateConnection"
85101
"org.apache.flink.sql.parser.ddl.SqlCreateDatabase"
86102
"org.apache.flink.sql.parser.ddl.SqlCreateFunction"
87-
"org.apache.flink.sql.parser.ddl.SqlCreateModel"
88-
"org.apache.flink.sql.parser.ddl.SqlCreateModelAs"
89-
"org.apache.flink.sql.parser.ddl.SqlCreateOrAlterMaterializedTable"
90-
"org.apache.flink.sql.parser.ddl.SqlCreateTable"
91-
"org.apache.flink.sql.parser.ddl.SqlCreateTableAs"
92-
"org.apache.flink.sql.parser.ddl.SqlCreateTableLike"
93-
"org.apache.flink.sql.parser.ddl.SqlCreateView"
103+
"org.apache.flink.sql.parser.ddl.model.SqlCreateModel"
104+
"org.apache.flink.sql.parser.ddl.model.SqlCreateModelAs"
105+
"org.apache.flink.sql.parser.ddl.view.SqlCreateView"
94106
"org.apache.flink.sql.parser.ddl.SqlDistribution"
95-
"org.apache.flink.sql.parser.ddl.SqlDropCatalog"
96-
"org.apache.flink.sql.parser.ddl.SqlDropConnection"
97107
"org.apache.flink.sql.parser.ddl.SqlDropDatabase"
98108
"org.apache.flink.sql.parser.ddl.SqlDropFunction"
99-
"org.apache.flink.sql.parser.ddl.SqlDropMaterializedTable"
100-
"org.apache.flink.sql.parser.ddl.SqlDropModel"
109+
"org.apache.flink.sql.parser.ddl.model.SqlDropModel"
101110
"org.apache.flink.sql.parser.ddl.SqlDropPartitions"
102111
"org.apache.flink.sql.parser.ddl.SqlDropPartitions.AlterTableDropPartitionsContext"
103-
"org.apache.flink.sql.parser.ddl.SqlDropTable"
104-
"org.apache.flink.sql.parser.ddl.SqlDropView"
112+
"org.apache.flink.sql.parser.ddl.view.SqlDropView"
105113
"org.apache.flink.sql.parser.ddl.SqlRefreshMode"
106114
"org.apache.flink.sql.parser.ddl.SqlRemoveJar"
107115
"org.apache.flink.sql.parser.ddl.SqlReplaceTableAs"
108116
"org.apache.flink.sql.parser.ddl.SqlReset"
109117
"org.apache.flink.sql.parser.ddl.SqlSet"
110118
"org.apache.flink.sql.parser.ddl.SqlTableColumn"
111-
"org.apache.flink.sql.parser.ddl.SqlTableLike"
112-
"org.apache.flink.sql.parser.ddl.SqlTableLike.FeatureOption"
113-
"org.apache.flink.sql.parser.ddl.SqlTableLike.MergingStrategy"
114-
"org.apache.flink.sql.parser.ddl.SqlTableLike.SqlTableLikeOption"
115119
"org.apache.flink.sql.parser.ddl.SqlTableOption"
116-
"org.apache.flink.sql.parser.ddl.SqlUseCatalog"
117120
"org.apache.flink.sql.parser.ddl.SqlUseDatabase"
118121
"org.apache.flink.sql.parser.ddl.SqlUseModules"
119122
"org.apache.flink.sql.parser.ddl.SqlWatermark"
120-
"org.apache.flink.sql.parser.ddl.SqlAnalyzeTable"
121123
"org.apache.flink.sql.parser.dml.RichSqlInsert"
122124
"org.apache.flink.sql.parser.dml.RichSqlInsertKeyword"
123125
"org.apache.flink.sql.parser.dml.SqlBeginStatementSet"

flink-table/flink-sql-parser/src/main/codegen/includes/parserImpls.ftl

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2133,7 +2133,7 @@ SqlAlterMaterializedTable SqlAlterMaterializedTable() :
21332133
}
21342134
|
21352135
<ADD>
2136-
(
2136+
(
21372137
<DISTRIBUTION> {
21382138
return new SqlAlterMaterializedTableAddDistribution(
21392139
startPos.plus(getPos()),
@@ -2158,11 +2158,30 @@ SqlAlterMaterializedTable SqlAlterMaterializedTable() :
21582158
ctx.watermark);
21592159
}
21602160
|
2161-
<MODIFY> <DISTRIBUTION> {
2162-
return new SqlAlterMaterializedTableModifyDistribution(
2163-
startPos.plus(getPos()),
2164-
tableIdentifier,
2165-
SqlDistribution(getPos()));
2161+
<MODIFY>
2162+
(
2163+
<DISTRIBUTION> {
2164+
return new SqlAlterMaterializedTableModifyDistribution(
2165+
startPos.plus(getPos()),
2166+
tableIdentifier, SqlDistribution(getPos()));
2167+
}
2168+
|
2169+
AlterTableAddOrModify(ctx)
2170+
|
2171+
<LPAREN>
2172+
AlterTableAddOrModify(ctx)
2173+
(
2174+
<COMMA> AlterTableAddOrModify(ctx)
2175+
)*
2176+
<RPAREN>
2177+
)
2178+
{
2179+
return new SqlAlterMaterializedTableModifySchema(
2180+
startPos.plus(getPos()),
2181+
tableIdentifier,
2182+
new SqlNodeList(ctx.columnPositions, startPos.plus(getPos())),
2183+
ctx.constraints,
2184+
ctx.watermark);
21662185
}
21672186
|
21682187
<DROP> <DISTRIBUTION> {

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlAddPartitions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.flink.sql.parser.ddl;
2020

2121
import org.apache.flink.sql.parser.SqlParseUtils;
22+
import org.apache.flink.sql.parser.ddl.table.SqlAlterTable;
2223

2324
import org.apache.calcite.sql.SqlIdentifier;
2425
import org.apache.calcite.sql.SqlNode;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlDropPartitions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.flink.sql.parser.ddl;
2020

2121
import org.apache.flink.sql.parser.SqlParseUtils;
22+
import org.apache.flink.sql.parser.ddl.table.SqlAlterTable;
2223

2324
import org.apache.calcite.sql.SqlIdentifier;
2425
import org.apache.calcite.sql.SqlNode;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlReplaceTableAs.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.apache.flink.sql.parser.SqlConstraintValidator;
2323
import org.apache.flink.sql.parser.SqlUnparseUtils;
2424
import org.apache.flink.sql.parser.ddl.constraint.SqlTableConstraint;
25+
import org.apache.flink.sql.parser.ddl.table.SqlCreateTable;
2526
import org.apache.flink.sql.parser.error.SqlValidateException;
2627

2728
import org.apache.calcite.sql.SqlCharStringLiteral;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlAlterCatalog.java renamed to flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/catalog/SqlAlterCatalog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
* limitations under the License.
1717
*/
1818

19-
package org.apache.flink.sql.parser.ddl;
19+
package org.apache.flink.sql.parser.ddl.catalog;
20+
21+
import org.apache.flink.sql.parser.ddl.SqlAlterObject;
2022

2123
import org.apache.calcite.sql.SqlIdentifier;
2224
import org.apache.calcite.sql.SqlKind;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlAlterCatalogComment.java renamed to flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/catalog/SqlAlterCatalogComment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* limitations under the License.
1717
*/
1818

19-
package org.apache.flink.sql.parser.ddl;
19+
package org.apache.flink.sql.parser.ddl.catalog;
2020

2121
import org.apache.flink.sql.parser.SqlParseUtils;
2222
import org.apache.flink.sql.parser.SqlUnparseUtils;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlAlterCatalogOptions.java renamed to flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/catalog/SqlAlterCatalogOptions.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
* limitations under the License.
1717
*/
1818

19-
package org.apache.flink.sql.parser.ddl;
19+
package org.apache.flink.sql.parser.ddl.catalog;
2020

2121
import org.apache.flink.sql.parser.SqlUnparseUtils;
22+
import org.apache.flink.sql.parser.ddl.SqlTableOption;
2223

2324
import org.apache.calcite.sql.SqlIdentifier;
2425
import org.apache.calcite.sql.SqlNode;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlAlterCatalogReset.java renamed to flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/catalog/SqlAlterCatalogReset.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* limitations under the License.
1717
*/
1818

19-
package org.apache.flink.sql.parser.ddl;
19+
package org.apache.flink.sql.parser.ddl.catalog;
2020

2121
import org.apache.flink.sql.parser.SqlParseUtils;
2222
import org.apache.flink.sql.parser.SqlUnparseUtils;

flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/SqlCreateCatalog.java renamed to flink-table/flink-sql-parser/src/main/java/org/apache/flink/sql/parser/ddl/catalog/SqlCreateCatalog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
* limitations under the License.
1717
*/
1818

19-
package org.apache.flink.sql.parser.ddl;
19+
package org.apache.flink.sql.parser.ddl.catalog;
20+
21+
import org.apache.flink.sql.parser.ddl.SqlCreateObject;
2022

2123
import org.apache.calcite.sql.SqlCharStringLiteral;
2224
import org.apache.calcite.sql.SqlIdentifier;

0 commit comments

Comments
 (0)