This is an automated email from the ASF dual-hosted git repository.
gangwu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push:
new 345ce9187c Docs: Add C++ library to implementation status (#15107)
345ce9187c is described below
commit 345ce9187c0d0847045f0022ed0eac1644e01581
Author: Feiyang Li <[email protected]>
AuthorDate: Mon Jan 26 13:56:40 2026 +0800
Docs: Add C++ library to implementation status (#15107)
---
site/docs/status.md | 471 ++++++++++++++++++++++++++--------------------------
1 file changed, 236 insertions(+), 235 deletions(-)
diff --git a/site/docs/status.md b/site/docs/status.md
index beb129d9a5..22527a6751 100644
--- a/site/docs/status.md
+++ b/site/docs/status.md
@@ -31,141 +31,142 @@ This section lists the libraries that implement the
Apache Iceberg specification
- [PyIceberg](https://pypi.org/project/pyiceberg/)
- [Rust](https://crates.io/crates/iceberg)
- [Go](https://pkg.go.dev/github.com/apache/iceberg-go)
+- [C++](https://github.com/apache/iceberg-cpp/releases)
## Data Types
-| Data Type | Java | PyIceberg | Rust | Go |
-|----------------|------|-----------|------|----|
-| boolean | Y | Y | Y | Y |
-| int | Y | Y | Y | Y |
-| long | Y | Y | Y | Y |
-| float | Y | Y | Y | Y |
-| double | Y | Y | Y | Y |
-| decimal | Y | Y | Y | Y |
-| date | Y | Y | Y | Y |
-| time | Y | Y | Y | Y |
-| timestamp | Y | Y | Y | Y |
-| timestamptz | Y | Y | Y | Y |
-| timestamp_ns | Y | Y | Y | Y |
-| timestamptz_ns | Y | Y | Y | Y |
-| string | Y | Y | Y | Y |
-| uuid | Y | Y | Y | Y |
-| fixed | Y | Y | Y | Y |
-| binary | Y | Y | Y | Y |
-| variant | Y | Y | Y | Y |
-| list | Y | Y | Y | Y |
-| map | Y | Y | Y | Y |
-| struct | Y | Y | Y | Y |
+| Data Type | Java | PyIceberg | Rust | Go | C++ |
+|----------------|------|-----------|------|----|-----|
+| boolean | Y | Y | Y | Y | Y |
+| int | Y | Y | Y | Y | Y |
+| long | Y | Y | Y | Y | Y |
+| float | Y | Y | Y | Y | Y |
+| double | Y | Y | Y | Y | Y |
+| decimal | Y | Y | Y | Y | Y |
+| date | Y | Y | Y | Y | Y |
+| time | Y | Y | Y | Y | Y |
+| timestamp | Y | Y | Y | Y | Y |
+| timestamptz | Y | Y | Y | Y | Y |
+| timestamp_ns | Y | Y | Y | Y | N |
+| timestamptz_ns | Y | Y | Y | Y | N |
+| string | Y | Y | Y | Y | Y |
+| uuid | Y | Y | Y | Y | N |
+| fixed | Y | Y | Y | Y | Y |
+| binary | Y | Y | Y | Y | Y |
+| variant | Y | Y | Y | Y | N |
+| list | Y | Y | Y | Y | Y |
+| map | Y | Y | Y | Y | Y |
+| struct | Y | Y | Y | Y | Y |
## Data File Formats
-| Format | Java | PyIceberg | Rust | Go |
-|---------|------|-----------|------|----|
-| Parquet | Y | Y | Y | Y |
-| ORC | Y | N | N | N |
-| Puffin | Y | N | N | N |
-| Avro | Y | N | N | N |
+| Format | Java | PyIceberg | Rust | Go | C++ |
+|---------|------|-----------|------|----|-----|
+| Parquet | Y | Y | Y | Y | Y |
+| ORC | Y | N | N | N | N |
+| Puffin | Y | N | N | N | N |
+| Avro | Y | N | N | N | Y |
## File IO
-| Storage | Java | PyIceberg | Rust | Go |
-|-------------------|------|-----------|------|----|
-| Local Filesystem | Y | Y | Y | Y |
-| Hadoop Filesystem | Y | Y | Y | Y |
-| S3 Compatible | Y | Y | Y | Y |
-| GCS Compatible | Y | Y | Y | Y |
-| ADLS Compatible | Y | Y | Y | Y |
+| Storage | Java | PyIceberg | Rust | Go | C++ |
+|-------------------|------|-----------|------|----|------|
+| Local Filesystem | Y | Y | Y | Y | Y |
+| Hadoop Filesystem | Y | Y | Y | Y | N |
+| S3 Compatible | Y | Y | Y | Y | N |
+| GCS Compatible | Y | Y | Y | Y | N |
+| ADLS Compatible | Y | Y | Y | Y | N |
## Table Maintenance Operations
### Table Spec V1
-| Operation | Java | PyIceberg | Rust | Go |
-|-----------------------------|------|-----------|------|----|
-| Update schema | Y | Y | Y | N |
-| Update partition spec | Y | Y | Y | N |
-| Update table properties | Y | Y | Y | Y |
-| Replace sort order | Y | N | N | N |
-| Update table location | Y | Y | N | N |
-| Update statistics | Y | Y | N | N |
-| Update partition statistics | Y | N | N | N |
-| Expire snapshots | Y | N | N | N |
-| Manage snapshots | Y | N | N | N |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------------------|------|-----------|------|----|-----|
+| Update schema | Y | Y | Y | N | Y |
+| Update partition spec | Y | Y | Y | N | Y |
+| Update table properties | Y | Y | Y | Y | Y |
+| Replace sort order | Y | N | N | N | Y |
+| Update table location | Y | Y | N | N | Y |
+| Update statistics | Y | Y | N | N | Y |
+| Update partition statistics | Y | N | N | N | N |
+| Expire snapshots | Y | N | N | N | N |
+| Manage snapshots | Y | N | N | N | N |
### Table Spec V2
-| Operation | Java | PyIceberg | Rust | Go |
-|-----------------------------|------|-----------|------|----|
-| Update schema | Y | Y | N | N |
-| Update partition spec | Y | Y | N | N |
-| Update table properties | Y | Y | Y | Y |
-| Replace sort order | Y | N | N | N |
-| Update table location | Y | Y | N | N |
-| Update statistics | Y | Y | N | N |
-| Update partition statistics | Y | N | N | N |
-| Expire snapshots | Y | N | N | N |
-| Manage snapshots | Y | N | N | N |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------------------|------|-----------|------|----|-----|
+| Update schema | Y | Y | N | N | Y |
+| Update partition spec | Y | Y | N | N | Y |
+| Update table properties | Y | Y | Y | Y | Y |
+| Replace sort order | Y | N | N | N | Y |
+| Update table location | Y | Y | N | N | Y |
+| Update statistics | Y | Y | N | N | Y |
+| Update partition statistics | Y | N | N | N | N |
+| Expire snapshots | Y | N | N | N | N |
+| Manage snapshots | Y | N | N | N | N |
## Table Update Operations
### Table Spec V1
-| Operation | Java | PyIceberg | Rust | Go |
-|-------------------|------|-----------|------|----|
-| Append data files | Y | Y | N | Y |
-| Rewrite files | Y | Y | N | N |
-| Rewrite manifests | Y | Y | N | Y |
-| Overwrite files | Y | Y | N | N |
-| Delete files | Y | Y | N | N |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-------------------|------|-----------|------|----|-----|
+| Append data files | Y | Y | N | Y | Y |
+| Rewrite files | Y | Y | N | N | N |
+| Rewrite manifests | Y | Y | N | Y | N |
+| Overwrite files | Y | Y | N | N | N |
+| Delete files | Y | Y | N | N | N |
### Table Spec V2
-| Operation | Java | PyIceberg | Rust | Go |
-|-------------------|------|-----------|------|----|
-| Append data files | Y | Y | N | Y |
-| Rewrite files | Y | Y | N | N |
-| Rewrite manifests | Y | Y | N | Y |
-| Overwrite files | Y | Y | N | N |
-| Row delta | Y | N | N | N |
-| Delete files | Y | Y | N | N |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-------------------|------|-----------|------|----|-----|
+| Append data files | Y | Y | N | Y | Y |
+| Rewrite files | Y | Y | N | N | N |
+| Rewrite manifests | Y | Y | N | Y | N |
+| Overwrite files | Y | Y | N | N | N |
+| Row delta | Y | N | N | N | N |
+| Delete files | Y | Y | N | N | N |
## Table Read Operations
### Table Spec V1
-| Operation | Java | PyIceberg | Rust | Go |
-|-----------------------------|------|-----------|------|----|
-| Plan with data file | Y | Y | Y | Y |
-| Plan with puffin statistics | Y | Y | Y | Y |
-| Read data file | Y | N | Y | Y |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------------------|------|-----------|------|----|-----|
+| Plan with data file | Y | Y | Y | Y | Y |
+| Plan with puffin statistics | Y | Y | Y | Y | N |
+| Read data file | Y | N | Y | Y | Y |
### Table Spec V2
-| Operation | Java | PyIceberg | Rust | Go |
-|-----------------------------|------|-----------|------|----|
-| Plan with data file | Y | Y | Y | Y |
-| Plan with position deletes | Y | Y | N | Y |
-| Plan with equality deletes | Y | Y | N | N |
-| Plan with puffin statistics | Y | N | N | N |
-| Read data file | Y | Y | Y | Y |
-| Read with position deletes | Y | Y | N | Y |
-| Read with equality deletes | Y | N | N | N |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------------------|------|-----------|------|----|-----|
+| Plan with data file | Y | Y | Y | Y | Y |
+| Plan with position deletes | Y | Y | N | Y | Y |
+| Plan with equality deletes | Y | Y | N | N | Y |
+| Plan with puffin statistics | Y | N | N | N | N |
+| Read data file | Y | Y | Y | Y | Y |
+| Read with position deletes | Y | Y | N | Y | N |
+| Read with equality deletes | Y | N | N | N | N |
## Table Write Operations
### Table Spec V1
-| Operation | Java | PyIceberg | Rust | Go |
-|-------------|------|-----------|------|----|
-| Append data | Y | Y | Y | Y |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|-------------|------|-----------|------|----|-----|
+| Append data | Y | Y | Y | Y | N |
### Table Spec V2
-| Operation | Java | PyIceberg | Rust | Go |
-|------------------------|------|-----------|------|----|
-| Append data | Y | Y | Y | Y |
-| Write position deletes | Y | N | N | N |
-| Write equality deletes | Y | N | N | N |
+| Operation | Java | PyIceberg | Rust | Go | C++ |
+|------------------------|------|-----------|------|----|-----|
+| Append data | Y | Y | Y | Y | N |
+| Write position deletes | Y | N | N | N | N |
+| Write equality deletes | Y | N | N | N | N |
## Catalogs
@@ -173,198 +174,198 @@ This section lists the libraries that implement the
Apache Iceberg specification
#### Table Spec V1
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | Y |
+| createTable | Y | Y | Y | Y | Y |
+| dropTable | Y | Y | Y | Y | Y |
+| loadTable | Y | Y | Y | Y | Y |
+| updateTable | Y | Y | Y | Y | Y |
+| renameTable | Y | Y | Y | Y | Y |
+| tableExists | Y | Y | Y | Y | Y |
#### Table Spec V2
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | Y |
+| createTable | Y | Y | Y | Y | Y |
+| dropTable | Y | Y | Y | Y | Y |
+| loadTable | Y | Y | Y | Y | Y |
+| updateTable | Y | Y | Y | Y | Y |
+| renameTable | Y | Y | Y | Y | Y |
+| tableExists | Y | Y | Y | Y | Y |
#### View Spec V1
-| View Operation | Java | PyIceberg | Rust | Go |
-|----------------|------|-----------|------|----|
-| createView | Y | N | N | N |
-| dropView | Y | Y | N | N |
-| listView | Y | Y | N | N |
-| viewExists | Y | Y | N | N |
-| replaceView | Y | N | N | N |
-| renameView | Y | N | N | N |
+| View Operation | Java | PyIceberg | Rust | Go | C++ |
+|----------------|------|-----------|------|----|-----|
+| createView | Y | N | N | N | N |
+| dropView | Y | Y | N | N | N |
+| listView | Y | Y | N | N | N |
+| viewExists | Y | Y | N | N | N |
+| replaceView | Y | N | N | N | N |
+| renameView | Y | N | N | N | N |
#### Namespace Operations
-| Namespace Operation | Java | PyIceberg | Rust | Go |
-|---------------------------|------|-----------|------|----|
-| listNamespaces | Y | Y | Y | Y |
-| createNamespace | Y | Y | Y | Y |
-| dropNamespace | Y | Y | Y | Y |
-| namespaceExists | Y | Y | Y | Y |
-| updateNamespaceProperties | Y | Y | Y | Y |
-| loadNamespaceMetadata | Y | Y | Y | Y |
+| Namespace Operation | Java | PyIceberg | Rust | Go | C++ |
+|---------------------------|------|-----------|------|----|-----|
+| listNamespaces | Y | Y | Y | Y | Y |
+| createNamespace | Y | Y | Y | Y | Y |
+| dropNamespace | Y | Y | Y | Y | Y |
+| namespaceExists | Y | Y | Y | Y | Y |
+| updateNamespaceProperties | Y | Y | Y | Y | Y |
+| loadNamespaceMetadata | Y | Y | Y | Y | Y |
### Sql Catalog
The sql catalog is a catalog backed by a sql database, which is called jdbc
catalog in java.
-| Database | Java | PyIceberg | Rust | Go |
-|----------|------|-----------|------|----|
-| Postgres | Y | Y | Y | Y |
-| MySQL | Y | Y | Y | Y |
-| SQLite | Y | Y | Y | Y |
+| Database | Java | PyIceberg | Rust | Go | C++ |
+|----------|------|-----------|------|----|-----|
+| Postgres | Y | Y | Y | Y | N |
+| MySQL | Y | Y | Y | Y | N |
+| SQLite | Y | Y | Y | Y | N |
#### Table Spec V1
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | N |
+| createTable | Y | Y | Y | Y | N |
+| dropTable | Y | Y | Y | Y | N |
+| loadTable | Y | Y | Y | Y | N |
+| updateTable | Y | Y | Y | Y | N |
+| renameTable | Y | Y | Y | Y | N |
+| tableExists | Y | Y | Y | Y | N |
#### Table Spec V2
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | N |
+| createTable | Y | Y | Y | Y | N |
+| dropTable | Y | Y | Y | Y | N |
+| loadTable | Y | Y | Y | Y | N |
+| updateTable | Y | Y | Y | Y | N |
+| renameTable | Y | Y | Y | Y | N |
+| tableExists | Y | Y | Y | Y | N |
#### View Spec V1
-| View Operation | Java | PyIceberg | Rust | Go |
-|----------------|------|-----------|------|----|
-| createView | Y | N | N | N |
-| dropView | Y | N | N | N |
-| listView | Y | N | N | N |
-| viewExists | Y | N | N | N |
-| replaceView | Y | N | N | N |
-| renameView | Y | N | N | N |
+| View Operation | Java | PyIceberg | Rust | Go | C++ |
+|----------------|------|-----------|------|----|-----|
+| createView | Y | N | N | N | N |
+| dropView | Y | N | N | N | N |
+| listView | Y | N | N | N | N |
+| viewExists | Y | N | N | N | N |
+| replaceView | Y | N | N | N | N |
+| renameView | Y | N | N | N | N |
#### Namespace Operations
-| Namespace Operation | Java | PyIceberg | Rust | Go |
-|---------------------------|------|-----------|------|----|
-| listNamespaces | Y | Y | N | Y |
-| createNamespace | Y | Y | N | Y |
-| dropNamespace | Y | Y | Y | Y |
-| namespaceExists | Y | N | N | Y |
-| updateNamespaceProperties | Y | Y | Y | Y |
-| loadNamespaceMetadata | Y | Y | N | Y |
+| Namespace Operation | Java | PyIceberg | Rust | Go | C++ |
+|---------------------------|------|-----------|------|----|-----|
+| listNamespaces | Y | Y | N | Y | N |
+| createNamespace | Y | Y | N | Y | N |
+| dropNamespace | Y | Y | Y | Y | N |
+| namespaceExists | Y | N | N | Y | N |
+| updateNamespaceProperties | Y | Y | Y | Y | N |
+| loadNamespaceMetadata | Y | Y | N | Y | N |
### Glue Catalog
#### Table Spec V1
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | N |
+| createTable | Y | Y | Y | Y | N |
+| dropTable | Y | Y | Y | Y | N |
+| loadTable | Y | Y | Y | Y | N |
+| updateTable | Y | Y | Y | Y | N |
+| renameTable | Y | Y | Y | Y | N |
+| tableExists | Y | Y | Y | Y | N |
#### Table Spec V2
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | N |
+| createTable | Y | Y | Y | Y | N |
+| dropTable | Y | Y | Y | Y | N |
+| loadTable | Y | Y | Y | Y | N |
+| updateTable | Y | Y | Y | Y | N |
+| renameTable | Y | Y | Y | Y | N |
+| tableExists | Y | Y | Y | Y | N |
#### View Spec V1
-| View Operation | Java | PyIceberg | Rust | Go |
-|----------------|------|-----------|------|----|
-| createView | Y | N | N | N |
-| dropView | Y | N | N | N |
-| listView | Y | N | N | N |
-| viewExists | Y | N | N | N |
-| replaceView | Y | N | N | N |
-| renameView | Y | N | N | N |
+| View Operation | Java | PyIceberg | Rust | Go | C++ |
+|----------------|------|-----------|------|----|-----|
+| createView | Y | N | N | N | N |
+| dropView | Y | N | N | N | N |
+| listView | Y | N | N | N | N |
+| viewExists | Y | N | N | N | N |
+| replaceView | Y | N | N | N | N |
+| renameView | Y | N | N | N | N |
#### Namespace Operations
-| Namespace Operation | Java | PyIceberg | Rust | Go |
-|---------------------------|------|-----------|------|----|
-| listNamespaces | Y | Y | N | Y |
-| createNamespace | Y | Y | N | Y |
-| dropNamespace | Y | Y | N | Y |
-| namespaceExists | Y | N | N | Y |
-| updateNamespaceProperties | Y | Y | Y | Y |
-| loadNamespaceMetadata | Y | Y | N | Y |
+| Namespace Operation | Java | PyIceberg | Rust | Go | C++ |
+|---------------------------|------|-----------|------|----|-----|
+| listNamespaces | Y | Y | N | Y | N |
+| createNamespace | Y | Y | N | Y | N |
+| dropNamespace | Y | Y | N | Y | N |
+| namespaceExists | Y | N | N | Y | N |
+| updateNamespaceProperties | Y | Y | Y | Y | N |
+| loadNamespaceMetadata | Y | Y | N | Y | N |
### Hive Metastore Catalog
#### Table Spec V1
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | N |
+| createTable | Y | Y | Y | Y | N |
+| dropTable | Y | Y | Y | Y | N |
+| loadTable | Y | Y | Y | Y | N |
+| updateTable | Y | Y | Y | Y | N |
+| renameTable | Y | Y | Y | Y | N |
+| tableExists | Y | Y | Y | Y | N |
#### Table Spec V2
-| Table Operation | Java | PyIceberg | Rust | Go |
-|-----------------|------|-----------|------|----|
-| listTable | Y | Y | Y | Y |
-| createTable | Y | Y | Y | Y |
-| dropTable | Y | Y | Y | Y |
-| loadTable | Y | Y | Y | Y |
-| updateTable | Y | Y | Y | Y |
-| renameTable | Y | Y | Y | Y |
-| tableExists | Y | Y | Y | Y |
+| Table Operation | Java | PyIceberg | Rust | Go | C++ |
+|-----------------|------|-----------|------|----|-----|
+| listTable | Y | Y | Y | Y | N |
+| createTable | Y | Y | Y | Y | N |
+| dropTable | Y | Y | Y | Y | N |
+| loadTable | Y | Y | Y | Y | N |
+| updateTable | Y | Y | Y | Y | N |
+| renameTable | Y | Y | Y | Y | N |
+| tableExists | Y | Y | Y | Y | N |
#### View Spec V1
-| View Operation | Java | PyIceberg | Rust | Go |
-|----------------|------|-----------|------|----|
-| createView | Y | N | N | N |
-| dropView | Y | N | N | N |
-| listView | Y | N | N | N |
-| viewExists | Y | N | N | N |
-| replaceView | Y | N | N | N |
-| renameView | Y | N | N | N |
+| View Operation | Java | PyIceberg | Rust | Go | C++ |
+|----------------|------|-----------|------|----|-----|
+| createView | Y | N | N | N | N |
+| dropView | Y | N | N | N | N |
+| listView | Y | N | N | N | N |
+| viewExists | Y | N | N | N | N |
+| replaceView | Y | N | N | N | N |
+| renameView | Y | N | N | N | N |
#### Namespace Operations
-| Namespace Operation | Java | PyIceberg | Rust | Go |
-|---------------------------|------|-----------|------|----|
-| listNamespaces | Y | Y | N | N |
-| createNamespace | Y | Y | N | N |
-| dropNamespace | Y | Y | N | N |
-| namespaceExists | Y | N | N | N |
-| updateNamespaceProperties | Y | Y | Y | Y |
-| loadNamespaceMetadata | Y | Y | N | N |
+| Namespace Operation | Java | PyIceberg | Rust | Go | C++ |
+|---------------------------|------|-----------|------|----|-----|
+| listNamespaces | Y | Y | N | N | N |
+| createNamespace | Y | Y | N | N | N |
+| dropNamespace | Y | Y | N | N | N |
+| namespaceExists | Y | N | N | N | N |
+| updateNamespaceProperties | Y | Y | Y | Y | N |
+| loadNamespaceMetadata | Y | Y | N | N | N |