This is an automated email from the ASF dual-hosted git repository.
fanng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 7b7b3a6fc [#4433] Improvement(catalog-lakehouse-paimon): Update Paimon
Catalog doc (#4435)
7b7b3a6fc is described below
commit 7b7b3a6fc573d2d71d6489dd6a905b87f8ef11be
Author: cai can <[email protected]>
AuthorDate: Fri Aug 9 09:17:56 2024 +0800
[#4433] Improvement(catalog-lakehouse-paimon): Update Paimon Catalog doc
(#4435)
### What changes were proposed in this pull request?
Update Paimon Catalog doc, add the `AlterTable`, `partition` and `Index`
related docs.
### Why are the changes needed?
Fix: https://github.com/apache/gravitino/issues/4433
---
docs/lakehouse-paimon-catalog.md | 59 +++++++++++++++++++++++++++++++++-------
1 file changed, 49 insertions(+), 10 deletions(-)
diff --git a/docs/lakehouse-paimon-catalog.md b/docs/lakehouse-paimon-catalog.md
index 7265073a5..b79d3cdd9 100644
--- a/docs/lakehouse-paimon-catalog.md
+++ b/docs/lakehouse-paimon-catalog.md
@@ -26,7 +26,6 @@ Builds with Apache Paimon `0.8.0`.
- Supports DDL operations for Paimon schemas and tables.
- Doesn't support `JdbcCatalog` and `HiveCatalog` catalog backend now.
-- Doesn't support alterTable now.
- Doesn't support alterSchema.
### Catalog properties
@@ -72,17 +71,43 @@ Please refer to [Manage Relational Metadata Using
Gravitino](./manage-relational
### Table capabilities
-- Supporting createTable, dropTable, loadTable and listTable.
+- Supporting createTable, dropTable, alterTable, loadTable and listTable.
```
dropTable will delete the table location directly, similar with purgeTable.
```
-- Supporting Column default value through table properties, such as
`fields.{columnName}.default-value`.
+- Supporting Column default value through table properties, such as
`fields.{columnName}.default-value`, not column expression.
-- Doesn't support alterTable now.
+:::info
+Paimon does not support auto increment column.
+:::
+
+#### Table changes
+
+- AddColumn
+- DeleteColumn
+- RenameColumn
+- UpdateColumnComment
+- UpdateColumnNullability
+- UpdateColumnPosition
+```
+UpdateColumnPosition only supports update a column position with first, after
position, cannot use default position.
+```
+- UpdateColumnType
+- UpdateComment
+- SetProperty
+```
+SetProperty cannot update table comment, please use UpdateComment instead.
+```
+- RemoveProperty
+```
+RemoveProperty cannot remove table comment.
+```
#### Table partitions
-- Doesn't support table partition now.
+- Only supports Identity partitions, such as `day`, `hour`, etc.
+
+Please refer to [Paimon DDL Create
Table](https://paimon.apache.org/docs/0.8/spark/sql-ddl/#create-table) for more
details.
### Table sort orders
@@ -94,7 +119,15 @@ dropTable will delete the table location directly, similar
with purgeTable.
### Table indexes
-- Doesn't support table indexes.
+- Only supports primary key Index.
+
+:::info
+We cannot specify more than one primary key Index, and a primary key Index can
contain multiple fields as a joint primary key.
+:::
+
+:::info
+Paimon Table primary key constraint should not be same with partition fields,
this will result in only one record in a partition.
+:::
### Table column types
@@ -131,10 +164,16 @@ You can pass [Paimon table
properties](https://paimon.apache.org/docs/0.8/mainte
The Gravitino server doesn't allow passing the following reserved fields.
-| Configuration item | Description
|
-|---------------------------------|----------------------------------------------------------|
-| `comment` | The table comment.
|
-| `creator` | The table creator.
|
+| Configuration item | Description
|
+|------------------------------------|--------------------------------------------------------------|
+| `comment` | The table comment.
|
+| `owner` | The table owner.
|
+| `bucket-key` | The table bucket-key.
|
+| `merge-engine` | The table merge-engine.
|
+| `sequence.field` | The table sequence.field.
|
+| `rowkind.field` | The table rowkind.field.
|
+| `primary-key` | The table primary-key.
|
+| `partition` | The table partition.
|
### Table operations