Status
...
Page properties | |
---|---|
|
...
...
|
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
JIRA:
Released:
Motivation
As discussed above, current flink sql metadata column is fixed and cannot be compatible with metadata change of a certain connector.
DEFAULT constraint is a good way to solve this issue. Actually the column DEFAULT is a reasonable feature and can also help in other cases (e.g. regular or physical columns).
so we propose this flip.
Public Interfaces
DEFAULT Syntax
CREATE
TABLE
table_name (
metadataCol VARCHAR METADATA DEFAULT 'UNKNOWN',
col VARCHAR DEFAULT '',
col2 VARCHAR DEFAULT NULL
...
combine with VIRTUAL:
metadataCol_1 metadataCol_2 |
|
|
Proposed Changes
Flink Table API & SQL handles DEFAULT constraint in the ddl.
...
The proposed syntax also follows this concept.
Implementation
Add DEFAULT keyword like current VIRTUAL keywordsql column DEFAULT constraint. Implemented details to be added.
Compatibility, Deprecation, and Migration Plan
The DEFAULT column constraint is an optional KEYWORD to let uses define default value, so we don't need to deal with migration plan. And here is no need to add deprecationdeprecations.
Test Plan
Add DEFAULT sql column constraint test cases & ensure all table & sql cases passed
...