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

github-actions[bot] pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/iceberg-go.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 975df6e53 deploy: 8ef0a092fcbaf70f99aa8935481bc95071eb41b1
975df6e53 is described below

commit 975df6e530eddf2febcf0c9471503da75868646e
Author: laskoviymishka <[email protected]>
AuthorDate: Tue Nov 3 14:05:50 2026 +0000

    deploy: 8ef0a092fcbaf70f99aa8935481bc95071eb41b1
---
 api.html         | 14 ++++++++++++++
 print.html       | 14 ++++++++++++++
 searchindex.js   |  2 +-
 searchindex.json |  2 +-
 4 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/api.html b/api.html
index a9610f755..df37b8c7b 100644
--- a/api.html
+++ b/api.html
@@ -449,6 +449,20 @@ if err != nil { /* ... */ }
 
 arrowSchema, batches, err := scan.ReadTasks(ctx, tasks)
 </code></pre>
+<h3 id="incremental-changelog-scans"><a class="header" 
href="#incremental-changelog-scans">Incremental changelog scans</a></h3>
+<p><code>NewIncrementalChangelogScan</code> returns rows added or deleted 
between snapshots. <code>PlanFiles</code> returns the tasks. <code>Read</code> 
reads a planned task list, and <code>ToArrowRecords</code> plans and reads. 
Remote planning is not supported.</p>
+<pre><code class="language-go">schema, batches, err := 
tbl.NewIncrementalChangelogScan(
+    table.WithSelectedFields(&quot;id&quot;, &quot;name&quot;),
+).FromSnapshotExclusive(startSnapshotID).ToArrowRecords(ctx)
+</code></pre>
+<p><code>FromSnapshotInclusive</code>, <code>FromSnapshotExclusive</code>, and 
<code>ToSnapshot</code> bound the snapshot range. Projection, row filters, and 
limits apply while the rows are read. If the start snapshot has been expired, 
changes in expired snapshots before the oldest retained one are not reported. 
Each snapshot that adds deletes is planned against every live data file, 
narrowed only by the partition filter, so the cost follows the table size 
rather than the size of the sna [...]
+<p>Each batch is the scan projection followed by three columns:</p>
+<ul>
+<li><code>_change_type</code> — <code>INSERT</code> or <code>DELETE</code></li>
+<li><code>_change_ordinal</code> — int32 ordinal of the snapshot that produced 
the change</li>
+<li><code>_commit_snapshot_id</code> — snapshot ID that committed the 
change</li>
+</ul>
+<p>Added data files are inserts. Removed data files are deletes of the rows in 
that file. Delete files added in the range emit the rows they newly remove. A 
rewritten file emits a DELETE and an INSERT for every row in that file, 
including rows that did not change. <code>UPDATE</code> rows are not produced. 
Delete-file handling is iceberg-go behavior.</p>
 <h2 id="writing-data"><a class="header" href="#writing-data">Writing 
data</a></h2>
 <p>The shortcut methods on <code>Table</code> open a transaction, perform the 
write, and commit. Use <code>NewTransaction</code> directly when you need to 
combine multiple operations.</p>
 <h3 id="append"><a class="header" href="#append">Append</a></h3>
diff --git a/print.html b/print.html
index 188c4b1d5..ea27a7f71 100644
--- a/print.html
+++ b/print.html
@@ -1411,6 +1411,20 @@ if err != nil { /* ... */ }
 
 arrowSchema, batches, err := scan.ReadTasks(ctx, tasks)
 </code></pre>
+<h3 id="incremental-changelog-scans"><a class="header" 
href="#incremental-changelog-scans">Incremental changelog scans</a></h3>
+<p><code>NewIncrementalChangelogScan</code> returns rows added or deleted 
between snapshots. <code>PlanFiles</code> returns the tasks. <code>Read</code> 
reads a planned task list, and <code>ToArrowRecords</code> plans and reads. 
Remote planning is not supported.</p>
+<pre><code class="language-go">schema, batches, err := 
tbl.NewIncrementalChangelogScan(
+    table.WithSelectedFields(&quot;id&quot;, &quot;name&quot;),
+).FromSnapshotExclusive(startSnapshotID).ToArrowRecords(ctx)
+</code></pre>
+<p><code>FromSnapshotInclusive</code>, <code>FromSnapshotExclusive</code>, and 
<code>ToSnapshot</code> bound the snapshot range. Projection, row filters, and 
limits apply while the rows are read. If the start snapshot has been expired, 
changes in expired snapshots before the oldest retained one are not reported. 
Each snapshot that adds deletes is planned against every live data file, 
narrowed only by the partition filter, so the cost follows the table size 
rather than the size of the sna [...]
+<p>Each batch is the scan projection followed by three columns:</p>
+<ul>
+<li><code>_change_type</code> — <code>INSERT</code> or <code>DELETE</code></li>
+<li><code>_change_ordinal</code> — int32 ordinal of the snapshot that produced 
the change</li>
+<li><code>_commit_snapshot_id</code> — snapshot ID that committed the 
change</li>
+</ul>
+<p>Added data files are inserts. Removed data files are deletes of the rows in 
that file. Delete files added in the range emit the rows they newly remove. A 
rewritten file emits a DELETE and an INSERT for every row in that file, 
including rows that did not change. <code>UPDATE</code> rows are not produced. 
Delete-file handling is iceberg-go behavior.</p>
 <h2 id="writing-data"><a class="header" href="#writing-data">Writing 
data</a></h2>
 <p>The shortcut methods on <code>Table</code> open a transaction, perform the 
write, and commit. Use <code>NewTransaction</code> directly when you need to 
combine multiple operations.</p>
 <h3 id="append"><a class="header" href="#append">Append</a></h3>
diff --git a/searchindex.js b/searchindex.js
index f9dd4e3fa..9228a0515 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Object.assign(window.search, 
{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#
 [...]
\ No newline at end of file
+Object.assign(window.search, 
{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#
 [...]
\ No newline at end of file
diff --git a/searchindex.json b/searchindex.json
index 955995e57..28014b6da 100644
--- a/searchindex.json
+++ b/searchindex.json
@@ -1 +1 @@
-{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#4-write-some-arrow-data","get
 [...]
\ No newline at end of file
+{"doc_urls":["introduction.html#iceberg-go","introduction.html#where-to-start","introduction.html#what-works-today","introduction.html#beyond-go","introduction.html#help-and-contribution","install.html#install","install.html#requirements","install.html#installation","getting-started.html#getting-started","getting-started.html#1-install","getting-started.html#2-open-a-local-catalog","getting-started.html#3-create-a-namespace-and-a-table","getting-started.html#4-write-some-arrow-data","get
 [...]
\ No newline at end of file

Reply via email to