THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Add new getTargetColumns to DynamicTableSink#Context.
Code Block | ||
---|---|---|
| ||
/** * Returns an {@link Optional} array of column index paths related to user specified target column list or an * column list or *an empty array when not specified. The array indices are 0-based and support composite columns * composite *columns within (possibly nested) structures. * * <p>This information comes from the column list of the DML clause, e.g., for a sink table * t1 which schema is: {@code a STRING, b ROW < b1 INT, b2 STRING>, c BIGINT} * * <ul> * <li>insert: 'insert into t1(a, b.b2) ...', the column list will be 'a, b.b2', and will * return {@code [[0], [1, 1]]}. The column list will be empty for 'insert into target * select ...'. * <li>update: 'update target set a=1, b.b1=2 where ...', the column list will be 'a, * b.b1', will return {@code [[0], [1, 0]]}. * </ul> * * <p>Note: will always return empty array for the delete statement because it has no column * list. */ intOptional<int[][]> getTargetColumns(); |
Proposed Changes
...