Jark Wu created FLINK-18555:
-------------------------------

             Summary: Make TableConfig options can be configured by 
string-based Configuration
                 Key: FLINK-18555
                 URL: https://issues.apache.org/jira/browse/FLINK-18555
             Project: Flink
          Issue Type: Sub-task
          Components: Table SQL / API
            Reporter: Jark Wu
            Assignee: Shengkai Fang
             Fix For: 1.12.0


TableConfig should fully rely on a Configuration-based object with 
ConfigOptions. So that it can be configured using string-based configuration, 
such as from a configuration file or SQL CLI SET command.

[~jark], [~twalthr], and [~fhueske] discussed the configuration options (see 
comments in FLINK-16835) and concluded with the following design:

{code:java}
  public static final ConfigOption<Duration> IDLE_STATE_RETENTION =
      key("table.exec.state.ttl")
          .durationType()
          .defaultValue(Duration.ofMillis(0));

  public static final ConfigOption<Integer> MAX_LENGTH_GENERATED_CODE =
      key("table.generated-code.max-length")
          .intType()
          .defaultValue(64000);

  public static final ConfigOption<String> LOCAL_TIME_ZONE =
      key("table.local-time-zone")
          .stringType()
          .defaultValue(ZoneId.systemDefault().toString());
{code}

*Note*: The following {{TableConfig}} options are not preserved:

* {{nullCheck}}: Flink will automatically enable null checks based on the table 
schema ({{NOT NULL}} property)
* {{decimalContext}}: this configuration is only used by the legacy planner 
which will be removed in one of the next releases
* {{maxIdleStateRetention}}: is automatically derived as 1.5* 
{{idleStateRetention}} until StateTtlConfig is fully supported (at which point 
only a single parameter is required).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to