[
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)