hililiwei commented on code in PR #7382:
URL: https://github.com/apache/iceberg/pull/7382#discussion_r1198846875


##########
docs/flink-ddl.md:
##########
@@ -144,44 +144,61 @@ CREATE DATABASE iceberg_db;
 USE iceberg_db;
 ```
 
-### `CREATE TABLE`
+## `CREATE TABLE`
 
 ```sql
 CREATE TABLE `hive_catalog`.`default`.`sample` (
     id BIGINT COMMENT 'unique id',
-    data STRING
-);
+    `data` STRING NOT NULL
+) 
+WITH ('format-version'='2');
 ```
 
 Table create commands support the commonly used [Flink create 
clauses](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/create/)
 including:
 
-* `PARTITION BY (column1, column2, ...)` to configure partitioning, Flink does 
not yet support hidden partitioning.
 * `COMMENT 'table document'` to set a table description.
 * `WITH ('key'='value', ...)` to set [table configuration](../configuration) 
which will be stored in Iceberg table properties.
 
-Currently, it does not support computed column, primary key and watermark 
definition etc.
+Currently, it does not support computed column and watermark definition etc.
+
+### `PRIMARY KEY`
+
+Primary key constraint can be declared for a column or a set of columns, which 
must be unique and do not contain null.
+It's required for [`UPSERT` mode](../flink/flink-writes.md#upsert).
+
+```sql
+CREATE TABLE `hive_catalog`.`default`.`sample` (
+    id BIGINT COMMENT 'unique id',
+    `data` STRING NOT NULL,
+    PRIMARY KEY(`id`) NOT ENFORCED
+) 
+WITH ('format-version'='2');
+```
 
 ### `PARTITIONED BY`
 
 To create a partition table, use `PARTITIONED BY`:
 
 ```sql
 CREATE TABLE `hive_catalog`.`default`.`sample` (
-                                                   id BIGINT COMMENT 'unique 
id',
-                                                   data STRING
-) PARTITIONED BY (data);
+    id BIGINT COMMENT 'unique id',
+    `data` STRING NOT NULL,
+    PRIMARY KEY(`id`) NOT ENFORCED

Review Comment:
   the partition fields should be included in primary key, or we can delete 
this 186 line.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to