You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Ramin Gharib (Jira)" <ji...@apache.org> on 2025/09/15 07:05:00 UTC
[jira] [Updated] (FLINK-38355) [FLIP-546] Introduce CREATE OR ALTER Syntax for Materialized Tables
[ https://issues.apache.org/jira/browse/FLINK-38355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ramin Gharib updated FLINK-38355:
---------------------------------
Description:
This issue tracks the implementation of the accepted {*}[FLIP-546|[https://cwiki.apache.org/confluence/display/FLINK/FLIP-546%3A+Introduce+CREATE+OR+ALTER+for+Materialized+Tables]]{*}. The goal is to introduce an idempotent {{CREATE OR ALTER MATERIALIZED TABLE}} command to improve the declarative management of Materialized Tables, especially for users building automated data pipelines with tools like Terraform, dbt, or CI/CD.
{code:java}
-- Idempotent creation and evolution
CREATE OR ALTER MATERIALIZED TABLE [catalog_name.][db_name.]table_name [ ([ <table_constraint> ]) ]
[COMMENT table_comment]
[PARTITIONED BY (partition_column_name1, partition_column_name2, ...)]
[WITH (key1=val1, key2=val2, ...)]
FRESHNESS = INTERVAL '<num>' { SECOND[S] | MINUTE[S] | HOUR[S] | DAY[S] }
[REFRESH_MODE = { CONTINUOUS | FULL }]
AS <select_statement>
<table_constraint>:
[CONSTRAINT constraint_name] PRIMARY KEY (column_name, ...) NOT ENFORCED
<distribution>:
{
DISTRIBUTED BY [ { HASH | RANGE } ] (bucket_column_name1, bucket_column_name2, ...) ] [INTO n BUCKETS] | DISTRIBUTED INTO n BUCKETS
} {code}
was:
This issue tracks the implementation of the accepted {*}[FLIP-546|[https://cwiki.apache.org/confluence/display/FLINK/FLIP-546%3A+Introduce+CREATE+OR+ALTER+for+Materialized+Tables]]{*}. The goal is to introduce an idempotent {{CREATE OR ALTER MATERIALIZED TABLE}} command to improve the declarative management of Materialized Tables, especially for users building automated data pipelines with tools like Terraform, dbt, or CI/CD.
{code:java}
-- Idempotent creation and evolution
CREATE OR ALTER MATERIALIZED TABLE [catalog_name.][db_name.]table_name [ ([ <table_constraint> ]) ]
[COMMENT table_comment]
[PARTITIONED BY (partition_column_name1, partition_column_name2, ...)]
[WITH (key1=val1, key2=val2, ...)]
FRESHNESS = INTERVAL '<num>' { SECOND[S] | MINUTE[S] | HOUR[S] | DAY[S] }
[REFRESH_MODE = { CONTINUOUS | FULL }]
AS <select_statement>
<table_constraint>:
[CONSTRAINT constraint_name] PRIMARY KEY (column_name, ...) NOT ENFORCED
<distribution>:
{
DISTRIBUTED BY [ { HASH | RANGE } ] (bucket_column_name1, bucket_column_name2, ...) ] [INTO n BUCKETS] | DISTRIBUTED INTO n BUCKETS
} {code}
> [FLIP-546] Introduce CREATE OR ALTER Syntax for Materialized Tables
> -------------------------------------------------------------------
>
> Key: FLINK-38355
> URL: https://issues.apache.org/jira/browse/FLINK-38355
> Project: Flink
> Issue Type: New Feature
> Components: Table SQL / API
> Reporter: Ramin Gharib
> Priority: Major
>
> This issue tracks the implementation of the accepted {*}[FLIP-546|[https://cwiki.apache.org/confluence/display/FLINK/FLIP-546%3A+Introduce+CREATE+OR+ALTER+for+Materialized+Tables]]{*}. The goal is to introduce an idempotent {{CREATE OR ALTER MATERIALIZED TABLE}} command to improve the declarative management of Materialized Tables, especially for users building automated data pipelines with tools like Terraform, dbt, or CI/CD.
>
> {code:java}
> -- Idempotent creation and evolution
> CREATE OR ALTER MATERIALIZED TABLE [catalog_name.][db_name.]table_name [ ([ <table_constraint> ]) ]
> [COMMENT table_comment]
> [PARTITIONED BY (partition_column_name1, partition_column_name2, ...)]
> [WITH (key1=val1, key2=val2, ...)]
> FRESHNESS = INTERVAL '<num>' { SECOND[S] | MINUTE[S] | HOUR[S] | DAY[S] }
> [REFRESH_MODE = { CONTINUOUS | FULL }]
> AS <select_statement>
> <table_constraint>:
> [CONSTRAINT constraint_name] PRIMARY KEY (column_name, ...) NOT ENFORCED
> <distribution>:
> {
> DISTRIBUTED BY [ { HASH | RANGE } ] (bucket_column_name1, bucket_column_name2, ...) ] [INTO n BUCKETS] | DISTRIBUTED INTO n BUCKETS
> } {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)