Hi, folks.
To save the time of reviewers, I would like to summary the main changes of this 
FLIP[1]. The FLIP is just to introduce REPLACE TABLE AS SELECT statement which 
is almost similar to CREATE TABLE AS SELECT statement, and a syntax CREATE OR 
REPLACE TABLE AS to wrap both. This FLIP is try to complete such kinds of 
statement. 

The changes are as follows:
1: Add enum REPLACE_TABLE_AS, CREATE_OR_REPLACE_TABLE_AS in StagingPurpose 
which is proposed in FLIP-305[2].

2: Change the configuration from `table.ctas.atomicity-enabled` proposed in 
FLIP-305[2] to `table.rtas-ctas.atomicity-enabled` to make it take effect not 
only for create table as, but for replace table as && create or replace table 
as. The main reason is that these statements are almost same which belongs to 
same statement family and I would not like to introduce a new different 
configuration which actually do the same thing. Also, IIRC, in the offline 
dicussion about FLIP-218[1], it also wants to introduce 
`table.rtas-ctas.atomicity-enabled`, but as FLIP-218 is only to support CTAS, 
it's not suitable to introduce a configuration implying rtas which is not 
supported. So, we change the configuration to `table.ctas.atomicity-enabled`. 
Since CTAS has been supported, I think it's reasonable to revist it and 
introduce `table.rtas-ctas.atomicity-enabled` a to unify them in this FLIP for 
supporting REPLACE TABLE AS statement.


Again, look forward to your feedback.

[1] 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-303%3A+Support+REPLACE+TABLE+AS+SELECT+statement
 
[2] 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-305%3A+Support+atomic+for+CREATE+TABLE+AS+SELECT%28CTAS%29+statement
 
[3] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=199541185 

Best regards,
Yuxia

----- 原始邮件 -----
发件人: "yuxia" <luoyu...@alumni.sjtu.edu.cn>
收件人: "dev" <dev@flink.apache.org>
发送时间: 星期四, 2023年 6 月 15日 下午 7:58:27
主题: [DISCUSS] FLIP-303: Support REPLACE TABLE AS SELECT statement

Hi, devs. 
As the FLIPs FLIP-218[1] & FLIP-305[2] for Flink to supports CREATE TABLE AS 
SELECT statement has been accepted. 
I would like to start a discussion about FLIP-303: Support REPLACE TABLE AS 
SELECT+statement[3] to complete such kinds of statements. 
With REPLACE TABLE AS SELECT statement, users won't need to drop the table 
firstly, and use CREATE TABLE AS SELECT then. Since the statement is much 
similar to CREATE TABLE AS statement, the design is much similar to FLIP-218[1] 
& FLIP-305[2] apart from some parts specified to REPLACE TABLE AS SELECT 
statement. 
Just kindly remind, to understand this FLIP better, you may need read 
FLIP-218[1] & FLIP-305[2] to get more context. 

Look forward to your feedback. 

[1]: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=199541185 
[2]: 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-305%3A+Support+atomic+for+CREATE+TABLE+AS+SELECT%28CTAS%29+statement
 
[3]: 
https://cwiki.apache.org/confluence/display/FLINK/FLIP-303%3A+Support+REPLACE+TABLE+AS+SELECT+statement
 

:) just notice I miss "[DISCUSS]" in the title of the previous email [4], so I 
send it again here with the correct email title. Please ignore the previous 
email and discuss in this thread. 
Sorry for the noise. 

[4]: https://lists.apache.org/thread/jy39xwxn1o2035y5411xynwtbyfgg76t 


Best regards, 
Yuxia

Reply via email to