Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Status

Current state: "Under Discussion"

Discussion thread: here (<- link to https://mail-archives.apache.org/mod_mbox/flink-dev/)

JIRA: here (<- link to https://issues.apache.org/jira/browse/FLINK-XXXX)

...

Page properties


Discussion thread
Vote thread
JIRA
Release


Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

keysettingtypeClass to place it in
table.exec.min-idle-state-retentionTableConfig#setIdleStateRetentionTimeDurationExecutionConfigOptions
table.exec.max-idle-state-retentionTableConfig#setIdleStateRetentionTimeDurationExecutionConfigOptions
table.planner.sql-dialectTableConfig#setSqlDialectEnum<SqlDialect>PlannerConfigOptions
table.planner.time-zone-idTableConfig#setLocalTimeZoneString (ZoneId.of())PlannerConfigOptionstable.planner.null-checkTableConfig#setNullCheckBooleanPlannerConfigOptions
table.planner.max-generated-codeTableConfig#setMaxGeneratedCodeLengthIntegerPlannerConfigOptions
table.planner.math-context.precisionTableConfig#setDecimalContextInteger (precision of MatchContextMathContext)PlannerConfigOptions
table.planner.math-context.rounding-modeTableConfig#setDecimalContextEnum<MatchContext.RoundingMode>PlannerConfigOptions

...

  • change the class to be an interface.
  • Remove getConfiguration method
  • Remove getDefault method
  • Make TableConfig extend from ReadableConfig & WritableConfig
  • Deprecate {{setNullCheck}}


Code Block
@PublicEvolving
public interface TableConfig extends ReadableConfig, WritableConfig {

  /*
       Old setters/getters that will be stored in a Configuration in the TableConfigImpl.
   */

.....
	/**
	 * Returns the current SQL dialect.
	 */
	SqlDialect getSqlDialect();

	/**
	 * Sets the current SQL dialect to parse a SQL query. Flink's SQL behavior by default.
	 */
	void setSqlDialect(SqlDialect sqlDialect);
......


  /*
		Methods inherited from ReadableConfig/WritableConfig

		<T> TableConfig set(ConfigOption<T> option, T value);
		
		<T> Optional<T> getOptional(ConfigOption<T> option);

		<T> T get(ConfigOption<T> option);

   */

   /*
      Methods to be dropped:

   	  public static TableConfig getDefault();
      public Configuration getConfiguration();

    */
}

...