This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new 79dae8ebb [doc] first-row merge engine adds changelog producer usage 
documentation (#4298)
79dae8ebb is described below

commit 79dae8ebb479d5b3adab8f2ca39b4c838658f062
Author: Kerwin <[email protected]>
AuthorDate: Wed Oct 9 21:43:45 2024 +0800

    [doc] first-row merge engine adds changelog producer usage documentation 
(#4298)
---
 docs/content/primary-key-table/merge-engine/aggregation.md       | 2 +-
 docs/content/primary-key-table/merge-engine/first-row.md         | 9 +++++++--
 docs/content/primary-key-table/merge-engine/overview.md          | 2 +-
 docs/content/primary-key-table/merge-engine/partial-update.md    | 2 +-
 .../src/main/java/org/apache/paimon/schema/SchemaValidation.java | 4 ++--
 .../java/org/apache/paimon/table/PrimaryKeyFileStoreTable.java   | 4 +---
 .../src/test/java/org/apache/paimon/schema/TableSchemaTest.java  | 2 +-
 7 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/docs/content/primary-key-table/merge-engine/aggregation.md 
b/docs/content/primary-key-table/merge-engine/aggregation.md
index a9b9b5a38..fa667ed35 100644
--- a/docs/content/primary-key-table/merge-engine/aggregation.md
+++ b/docs/content/primary-key-table/merge-engine/aggregation.md
@@ -3,7 +3,7 @@ title: "Aggregation"
 weight: 3
 type: docs
 aliases:
-- /cdc-ingestion/merge-engin/aggregation.html
+- /primary-key-table/merge-engin/aggregation.html
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/content/primary-key-table/merge-engine/first-row.md 
b/docs/content/primary-key-table/merge-engine/first-row.md
index c726866c9..7e5501cf7 100644
--- a/docs/content/primary-key-table/merge-engine/first-row.md
+++ b/docs/content/primary-key-table/merge-engine/first-row.md
@@ -3,7 +3,7 @@ title: "First Row"
 weight: 4
 type: docs
 aliases:
-- /cdc-ingestion/merge-engin/first-row.html
+- /primary-key-table/merge-engin/first-row.html
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
@@ -29,11 +29,16 @@ under the License.
 By specifying `'merge-engine' = 'first-row'`, users can keep the first row of 
the same primary key. It differs from the
 `deduplicate` merge engine that in the `first-row` merge engine, it will 
generate insert only changelog.
 
+{{< hint info >}}
+`first-row` merge engine only supports `none` and `lookup` changelog producer. 
+For streaming queries must be used with the `lookup` [changelog producer]({{< 
ref "primary-key-table/changelog-producer" >}}).
+{{< /hint >}}
+
 {{< hint info >}}
 1. You can not specify [sequence.field]({{< ref 
"primary-key-table/sequence-rowkind#sequence-field" >}}).
 2. Not accept `DELETE` and `UPDATE_BEFORE` message. You can config 
`ignore-delete` to ignore these two kinds records.
 3. Visibility guarantee: Tables with First Row engine, the files with level 0 
will only be visible after compaction.
    So by default, compaction is synchronous, and if asynchronous is turned on, 
there may be delays in the data.
-   {{< /hint >}}
+{{< /hint >}}
 
 This is of great help in replacing log deduplication in streaming computation.
diff --git a/docs/content/primary-key-table/merge-engine/overview.md 
b/docs/content/primary-key-table/merge-engine/overview.md
index 17585a2df..9f3b50c39 100644
--- a/docs/content/primary-key-table/merge-engine/overview.md
+++ b/docs/content/primary-key-table/merge-engine/overview.md
@@ -3,7 +3,7 @@ title: "Overview"
 weight: 1
 type: docs
 aliases:
-- /cdc-ingestion/merge-engin/overview.html
+- /primary-key-table/merge-engin/overview.html
 ---
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
diff --git a/docs/content/primary-key-table/merge-engine/partial-update.md 
b/docs/content/primary-key-table/merge-engine/partial-update.md
index 09c376c25..83b664c1b 100644
--- a/docs/content/primary-key-table/merge-engine/partial-update.md
+++ b/docs/content/primary-key-table/merge-engine/partial-update.md
@@ -3,7 +3,7 @@ title: "Partial Update"
 weight: 2
 type: docs
 aliases:
-  - /cdc-ingestion/merge-engin/partial-update.html
+- /primary-key-table/merge-engin/partial-update.html
 ---
 
 <!--
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/schema/SchemaValidation.java 
b/paimon-core/src/main/java/org/apache/paimon/schema/SchemaValidation.java
index c714b90d5..20a8787a4 100644
--- a/paimon-core/src/main/java/org/apache/paimon/schema/SchemaValidation.java
+++ b/paimon-core/src/main/java/org/apache/paimon/schema/SchemaValidation.java
@@ -180,7 +180,7 @@ public class SchemaValidation {
             if (options.changelogProducer() != ChangelogProducer.LOOKUP
                     && options.changelogProducer() != ChangelogProducer.NONE) {
                 throw new IllegalArgumentException(
-                        "Only support 'none' and 'lookup' changelog-producer 
on FIRST_MERGE merge engine");
+                        "Only support 'none' and 'lookup' changelog-producer 
on FIRST_ROW merge engine");
             }
         }
 
@@ -540,7 +540,7 @@ public class SchemaValidation {
 
             if (options.mergeEngine() == MergeEngine.FIRST_ROW) {
                 throw new IllegalArgumentException(
-                        "Do not support use sequence field on FIRST_MERGE 
merge engine.");
+                        "Do not support use sequence field on FIRST_ROW merge 
engine.");
             }
 
             if (schema.crossPartitionUpdate()) {
diff --git 
a/paimon-core/src/main/java/org/apache/paimon/table/PrimaryKeyFileStoreTable.java
 
b/paimon-core/src/main/java/org/apache/paimon/table/PrimaryKeyFileStoreTable.java
index 9c15a7bd1..b10cdbd06 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/table/PrimaryKeyFileStoreTable.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/table/PrimaryKeyFileStoreTable.java
@@ -29,7 +29,6 @@ import 
org.apache.paimon.mergetree.compact.LookupMergeFunction;
 import org.apache.paimon.mergetree.compact.MergeFunctionFactory;
 import org.apache.paimon.operation.FileStoreScan;
 import org.apache.paimon.operation.KeyValueFileStoreScan;
-import org.apache.paimon.options.Options;
 import org.apache.paimon.predicate.Predicate;
 import org.apache.paimon.schema.KeyValueFieldsExtractor;
 import org.apache.paimon.schema.TableSchema;
@@ -72,8 +71,7 @@ class PrimaryKeyFileStoreTable extends AbstractFileStoreTable 
{
     public KeyValueFileStore store() {
         if (lazyStore == null) {
             RowType rowType = tableSchema.logicalRowType();
-            Options conf = Options.fromMap(tableSchema.options());
-            CoreOptions options = new CoreOptions(conf);
+            CoreOptions options = CoreOptions.fromMap(tableSchema.options());
             KeyValueFieldsExtractor extractor =
                     PrimaryKeyTableUtils.PrimaryKeyFieldsExtractor.EXTRACTOR;
 
diff --git 
a/paimon-core/src/test/java/org/apache/paimon/schema/TableSchemaTest.java 
b/paimon-core/src/test/java/org/apache/paimon/schema/TableSchemaTest.java
index cf09d1ce4..d7f2e660a 100644
--- a/paimon-core/src/test/java/org/apache/paimon/schema/TableSchemaTest.java
+++ b/paimon-core/src/test/java/org/apache/paimon/schema/TableSchemaTest.java
@@ -154,7 +154,7 @@ public class TableSchemaTest {
         options.put(MERGE_ENGINE.key(), 
CoreOptions.MergeEngine.FIRST_ROW.toString());
         assertThatThrownBy(() -> validateTableSchema(schema))
                 .hasMessageContaining(
-                        "Do not support use sequence field on FIRST_MERGE 
merge engine.");
+                        "Do not support use sequence field on FIRST_ROW merge 
engine.");
 
         options.put(FIELDS_PREFIX + ".f3." + AGG_FUNCTION, "max");
         assertThatThrownBy(() -> validateTableSchema(schema))

Reply via email to