This is an automated email from the ASF dual-hosted git repository.
lincoln pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 65f200b819e [FLINK-32674][doc] Add documentation for the new
getTargetColumns in DynamicTableSink
65f200b819e is described below
commit 65f200b819e47800ff31cad55d4fe5c4a31706c7
Author: lincoln lee <[email protected]>
AuthorDate: Thu Jul 27 13:37:21 2023 +0800
[FLINK-32674][doc] Add documentation for the new getTargetColumns in
DynamicTableSink
This closes #23075
---
docs/content.zh/docs/dev/table/sql/insert.md | 7 +++++++
docs/content/docs/dev/table/sql/insert.md | 5 ++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/docs/content.zh/docs/dev/table/sql/insert.md
b/docs/content.zh/docs/dev/table/sql/insert.md
index f71f13e7327..695355f26d6 100644
--- a/docs/content.zh/docs/dev/table/sql/insert.md
+++ b/docs/content.zh/docs/dev/table/sql/insert.md
@@ -206,6 +206,13 @@ part_spec:
`PARTITION` 语句应该包含需要插入的静态分区列与值。
+**COLUMN LIST**
+
+给定一个表 T(a INT, b INT, c INT),Flink 支持 INSERT INTO T(c, b) SELECT x, y FROM S。
+预期行为是 “x” 被写入 “c” 列,“y” 被写入 “b” 列,而 “a” 被设置为空值(假设 “a” 列可为空)。<br />
+连接器开发人员在处理部分列更新时,如果希望避免用空值覆盖非目标列,可以从 {{< gh_link
file="flink-table/flink-table-common/src/main/java/org/apache/flink/table/connector/sink/DynamicTableSink.java"
name="DynamicTableSink$Context.getTargetColumns()" >}}
+中获取用户插入语句指定的目标列信息,然后决定如何处理部分更新。
+
### 示例
```sql
diff --git a/docs/content/docs/dev/table/sql/insert.md
b/docs/content/docs/dev/table/sql/insert.md
index 8aed02d0557..a86698cd603 100644
--- a/docs/content/docs/dev/table/sql/insert.md
+++ b/docs/content/docs/dev/table/sql/insert.md
@@ -208,7 +208,10 @@ column_list:
**COLUMN LIST**
Given a table T(a INT, b INT, c INT), Flink supports INSERT INTO T(c, b)
SELECT x, y FROM S. The expectation is
-that 'x' is written to column 'c' and 'y' is written to column 'b' and 'a' is
set to NULL (assuming column 'a' is nullable).
+that 'x' is written to column 'c' and 'y' is written to column 'b' and 'a' is
set to NULL (assuming column 'a' is nullable).<br />
+For connector developers who want to avoid overwriting non-target columns with
null values when processing partial column updates,
+you can get the information about the target columns specified by the user's
insert statement from {{< gh_link
file="flink-table/flink-table-common/src/main/java/org/apache/flink/table/connector/sink/DynamicTableSink.java"
name="DynamicTableSink$Context.getTargetColumns()" >}}
+and decide how to process the partial updates.
### Examples