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 058bf7abe deploy: bc6105cb408d0da5493d8d768424da927ef1cd5e
058bf7abe is described below
commit 058bf7abe48eeca9d5ce590e3bf43b65e8919536
Author: zeroshade <[email protected]>
AuthorDate: Wed Nov 4 17:47:01 2026 +0000
deploy: bc6105cb408d0da5493d8d768424da927ef1cd5e
---
print.html | 7 +++++--
releases.html | 7 +++++--
searchindex.js | 2 +-
searchindex.json | 2 +-
4 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/print.html b/print.html
index 40f05982c..0eb5f90ba 100644
--- a/print.html
+++ b/print.html
@@ -2666,13 +2666,16 @@ make integration-external-rest
<h3 id="unreleased-compatibility-notes"><a class="header"
href="#unreleased-compatibility-notes">Unreleased compatibility notes</a></h3>
<ul>
<li>
+<p><strong>SQL view APIs align with <code>catalog.ViewCatalog</code>.</strong>
<code>CreateView</code> now takes a <code>*view.Version</code>, schema and
options, and returns <code>*view.View</code>. <code>LoadView</code> now returns
<code>*view.View</code>; use <code>Metadata()</code> to access its metadata. If
the caller leaves <code>DefaultCatalog</code> empty, SQL still sets it to the
catalog name.</p>
+</li>
+<li>
<p><strong><code>LocationProvider.NewDataLocation</code> takes the partition
path.</strong> The method is now <code>NewDataLocation(dataFileName,
partitionPath string)</code>, matching Iceberg Java and PyIceberg, so custom
<code>LocationProvider</code> implementations must add the argument. Callers
pass the partition path there, or <code>""</code> for an
unpartitioned file, instead of prefixing the file name.</p>
</li>
<li>
<p><strong>Partitioned data files follow the table's location
provider.</strong> With <code>write.object-storage.enabled=true</code> and the
default <code>write.object-storage.partitioned-paths=true</code>, new
partitioned files land under <code>data/<hash>/<partition>/</code>
instead of <code>data/<partition>/<hash>/</code>, which can affect
prefix-based lifecycle rules and bucket policies.
<code>write.object-storage.partitioned-paths=false</code> and <code>write [...]
</li>
<li>
-<p><strong>Catalog capabilities split into narrower interfaces.</strong>
<code>catalog.Catalog</code> now embeds <code>TableCatalog</code> and
<code>NamespaceCatalog</code> with unchanged table and namespace methods.
<code>Name() string</code> is now required, breaking third-party catalogs and
test fakes. <code>ViewCatalog</code> is optional (REST and Hive), while REST
also implements <code>UpdatableViewCatalog</code> for <code>UpdateView</code>.
Use <code>catalog.As[T](cat)</code> and t [...]
+<p><strong>Catalog capabilities split into narrower interfaces.</strong>
<code>catalog.Catalog</code> now embeds <code>TableCatalog</code> and
<code>NamespaceCatalog</code> with unchanged table and namespace methods.
<code>Name() string</code> is now required, breaking third-party catalogs and
test fakes. <code>ViewCatalog</code> is optional (REST, Hive, and SQL), while
REST also implements <code>UpdatableViewCatalog</code> for
<code>UpdateView</code>. Use <code>catalog.As[T](cat)</code> [...]
</li>
<li>
<p><strong><code>ReplaceFilesWithDeleteFiles</code> removed.</strong> For
delete-file replacements, use <code>tx.NewRewrite(snapshotProps)</code>, call
<code>DeleteFile</code> for each source file and
<code>AddDeleteFileWithDataSequenceNumber</code> for each replacement, then
commit the builder. Rewrites record a <code>replace</code> snapshot instead of
<code>overwrite</code>. The five-argument <code>ReplaceFiles</code> API is
unchanged and remains available for compaction and delete-fil [...]
@@ -2729,7 +2732,7 @@ make integration-external-rest
<p><strong>Data file block size setter removed.</strong>
<code>iceberg.DataFileBuilder.BlockSizeInBytes</code> is removed. New v1
manifests use the Avro schema's 64 MiB default when the field is unset. V2/v3
omit this deprecated field, and legacy v1 values remain readable.</p>
</li>
<li>
-<p><strong>View creation APIs take a named SQL representation.</strong>
<code>view.NewVersionFromSQL</code>, <code>view.CreateView</code>,
<code>view.CreateViewWithIOProperties</code>, and
<code>sql.Catalog.CreateView</code> now accept a <code>view.Representation{SQL:
sql, Dialect: dialect}</code> instead of positional SQL/dialect strings. The
dialect is required; Hive preserves the selected representation's dialect.</p>
+<p><strong>View creation APIs take a named SQL representation.</strong>
<code>view.NewVersionFromSQL</code>, <code>view.CreateView</code>, and
<code>view.CreateViewWithIOProperties</code> now accept a
<code>view.Representation{SQL: sql, Dialect: dialect}</code> instead of
positional SQL/dialect strings. The dialect is required; Hive preserves the
selected representation's dialect.</p>
</li>
<li>
<p><strong>View SQL representation construction uses named fields.</strong>
Replace <code>view.NewRepresentation(sql, dialect)</code> with
<code>view.NewRepresentation(view.Representation{SQL: sql, Dialect:
dialect})</code>. Serialized JSON is unchanged.</p>
diff --git a/releases.html b/releases.html
index 20fc48d14..99c473794 100644
--- a/releases.html
+++ b/releases.html
@@ -249,13 +249,16 @@
<h3 id="unreleased-compatibility-notes"><a class="header"
href="#unreleased-compatibility-notes">Unreleased compatibility notes</a></h3>
<ul>
<li>
+<p><strong>SQL view APIs align with <code>catalog.ViewCatalog</code>.</strong>
<code>CreateView</code> now takes a <code>*view.Version</code>, schema and
options, and returns <code>*view.View</code>. <code>LoadView</code> now returns
<code>*view.View</code>; use <code>Metadata()</code> to access its metadata. If
the caller leaves <code>DefaultCatalog</code> empty, SQL still sets it to the
catalog name.</p>
+</li>
+<li>
<p><strong><code>LocationProvider.NewDataLocation</code> takes the partition
path.</strong> The method is now <code>NewDataLocation(dataFileName,
partitionPath string)</code>, matching Iceberg Java and PyIceberg, so custom
<code>LocationProvider</code> implementations must add the argument. Callers
pass the partition path there, or <code>""</code> for an
unpartitioned file, instead of prefixing the file name.</p>
</li>
<li>
<p><strong>Partitioned data files follow the table's location
provider.</strong> With <code>write.object-storage.enabled=true</code> and the
default <code>write.object-storage.partitioned-paths=true</code>, new
partitioned files land under <code>data/<hash>/<partition>/</code>
instead of <code>data/<partition>/<hash>/</code>, which can affect
prefix-based lifecycle rules and bucket policies.
<code>write.object-storage.partitioned-paths=false</code> and <code>write [...]
</li>
<li>
-<p><strong>Catalog capabilities split into narrower interfaces.</strong>
<code>catalog.Catalog</code> now embeds <code>TableCatalog</code> and
<code>NamespaceCatalog</code> with unchanged table and namespace methods.
<code>Name() string</code> is now required, breaking third-party catalogs and
test fakes. <code>ViewCatalog</code> is optional (REST and Hive), while REST
also implements <code>UpdatableViewCatalog</code> for <code>UpdateView</code>.
Use <code>catalog.As[T](cat)</code> and t [...]
+<p><strong>Catalog capabilities split into narrower interfaces.</strong>
<code>catalog.Catalog</code> now embeds <code>TableCatalog</code> and
<code>NamespaceCatalog</code> with unchanged table and namespace methods.
<code>Name() string</code> is now required, breaking third-party catalogs and
test fakes. <code>ViewCatalog</code> is optional (REST, Hive, and SQL), while
REST also implements <code>UpdatableViewCatalog</code> for
<code>UpdateView</code>. Use <code>catalog.As[T](cat)</code> [...]
</li>
<li>
<p><strong><code>ReplaceFilesWithDeleteFiles</code> removed.</strong> For
delete-file replacements, use <code>tx.NewRewrite(snapshotProps)</code>, call
<code>DeleteFile</code> for each source file and
<code>AddDeleteFileWithDataSequenceNumber</code> for each replacement, then
commit the builder. Rewrites record a <code>replace</code> snapshot instead of
<code>overwrite</code>. The five-argument <code>ReplaceFiles</code> API is
unchanged and remains available for compaction and delete-fil [...]
@@ -312,7 +315,7 @@
<p><strong>Data file block size setter removed.</strong>
<code>iceberg.DataFileBuilder.BlockSizeInBytes</code> is removed. New v1
manifests use the Avro schema's 64 MiB default when the field is unset. V2/v3
omit this deprecated field, and legacy v1 values remain readable.</p>
</li>
<li>
-<p><strong>View creation APIs take a named SQL representation.</strong>
<code>view.NewVersionFromSQL</code>, <code>view.CreateView</code>,
<code>view.CreateViewWithIOProperties</code>, and
<code>sql.Catalog.CreateView</code> now accept a <code>view.Representation{SQL:
sql, Dialect: dialect}</code> instead of positional SQL/dialect strings. The
dialect is required; Hive preserves the selected representation's dialect.</p>
+<p><strong>View creation APIs take a named SQL representation.</strong>
<code>view.NewVersionFromSQL</code>, <code>view.CreateView</code>, and
<code>view.CreateViewWithIOProperties</code> now accept a
<code>view.Representation{SQL: sql, Dialect: dialect}</code> instead of
positional SQL/dialect strings. The dialect is required; Hive preserves the
selected representation's dialect.</p>
</li>
<li>
<p><strong>View SQL representation construction uses named fields.</strong>
Replace <code>view.NewRepresentation(sql, dialect)</code> with
<code>view.NewRepresentation(view.Representation{SQL: sql, Dialect:
dialect})</code>. Serialized JSON is unchanged.</p>
diff --git a/searchindex.js b/searchindex.js
index 1f71136ef..88f5e496a 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 b8b217ccd..5c071de2d 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