Interface DynamicTableSink.Context

    • Method Detail

      • isBounded

        boolean isBounded()
        Returns whether a runtime implementation can expect a finite number of rows.

        This information might be derived from the session's execution mode and/or kind of query.

      • createTypeInformation

        <T> TypeInformation<T> createTypeInformation​(LogicalType consumedLogicalType)
        Creates type information describing the internal data structures of the given LogicalType.
      • getTargetColumns

        Optional<int[][]> getTargetColumns()
        Returns an Optional array of column index paths related to user specified target column list or Optional.empty() when not specified. The array indices are 0-based and support composite columns within (possibly nested) structures.

        This information comes from the column list of the DML clause, e.g., for a sink table t1 which schema is: a STRING, b ROW < b1 INT, b2 STRING>, c BIGINT

        • insert: 'insert into t1(a, b.b2) ...', the column list will be 'a, b.b2', and will return [[0], [1, 1]]. The statement 'insert into t1 select ...' without specifying a column list will return Optional.empty().
        • update: 'update t1 set a=1, b.b1=2 where ...', the column list will be 'a, b.b1', and will return [[0], [1, 0]].

        Note: will always return empty for the delete statement because it has no column list.