> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e6data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Apache Iceberg compatibility

> Which Apache Iceberg table spec features, SQL commands, catalogs and storage backends Query Engine supports.

This page compares Query Engine with the Apache Iceberg specification and the features listed on Iceberg's implementation status page. **Read** means Query Engine can query tables that use the feature. **Write** means Query Engine can create or change them. SQL commands and procedures follow the syntax in Iceberg's Spark docs.

To set up an Iceberg catalog, see [Table formats](/query/table-formats/iceberg).

<div className="e6-status-legend"><span className="e6-status e6-status--yes">Yes</span> Supported <span className="e6-status e6-status--partial">Partial</span> Supported with limits <span className="e6-status e6-status--no">No</span> Not supported yet</div>

## Summary

| Area | Yes | Partial | No |
| - | - | - | - |
| [Table spec features](#table-spec-features) | 18 | 1 | 71 |
| [Data types](#data-types) | 14 | 0 | 32 |
| [DDL](#ddl) | 0 | 0 | 37 |
| [DML](#dml) | 0 | 0 | 16 |
| [Queries and metadata tables](#queries-and-metadata-tables) | 19 | 0 | 3 |
| [Procedures and maintenance](#procedures-and-maintenance) | 0 | 0 | 21 |
| [Catalog implementations](#catalog-implementations) | 3 | 1 | 12 |
| [REST catalog operations](#rest-catalog-operations) | 8 | 0 | 17 |
| [File IO](#file-io) | 4 | 0 | 1 |

## Table spec features

Rows follow the Apache Iceberg table spec and concept docs. Spec = format version that introduced it; — = not tied to one version.

### Format versions

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Format version 1 | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Format version 2 (row-level deletes) | V2 | <span className="e6-status e6-status--partial">Partial</span> | <span className="e6-status e6-status--no">No</span> |
| Format version 3 (extended types and capabilities) | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### File formats

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Parquet data files | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| ORC data files | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Avro data files | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Puffin files (statistics, deletion vectors) | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Schemas and evolution

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Add column (incl. nested fields) | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Drop column | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Rename column | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Reorder columns | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Type promotion: int → long | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Type promotion: float → double | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Type promotion: widen decimal precision | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Required → optional | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Identifier fields | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Name mapping for files without field IDs | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Column initial-default | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Column write-default | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Partitioning

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Hidden partitioning (partition pruning from filters) | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: identity | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: bucket\[N] | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: truncate\[W] | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: year | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: month | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: day | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: hour | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Transform: void | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Multi-argument transforms (partitioning and sorting) | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Partition evolution | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |

### Sort orders

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Table sort order | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Sort order evolution | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |

### Row-level changes and lineage

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Position delete files | V2 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Equality delete files | V2 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Binary deletion vectors | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Row lineage (\_row\_id, \_last\_updated\_sequence\_number) | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Snapshots and references

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Snapshots and time travel | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Branches | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Tags | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Reference retention (max ref age, snapshots to keep) | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Statistics and encryption

| Feature | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| Column metrics in manifests (min / max / null counts) | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Table statistics files (Puffin, e.g. NDV sketches) | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Partition statistics files | — | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| Table encryption keys | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| AES GCM stream encryption | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

## Data types

Full type list from the Iceberg spec and Implementation status page.

### Primitive

| Iceberg type | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| boolean | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| int | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| long | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| float | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| double | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| decimal(P,S) | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| string | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| uuid | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| fixed(L) | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| binary | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Date and time

| Iceberg type | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| date | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| time | V1 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| timestamp | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| timestamptz | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| timestamp\_ns | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| timestamptz\_ns | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Nested and semi-structured

| Iceberg type | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| struct | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| list | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| map | V1 | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| variant | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

### Geospatial and other

| Iceberg type | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| geometry | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| geography | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| unknown | V3 | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

## DDL

Commands as documented in Iceberg's Spark DDL docs. If e6data supports the capability with different syntax, mark Yes and note the syntax.

### Create, replace and drop

| Command | Iceberg spec | e6data |
| - | - | - |
| CREATE TABLE … USING iceberg | — | <span className="e6-status e6-status--no">No</span> |
| PARTITIONED BY with transforms | — | <span className="e6-status e6-status--no">No</span> |
| LOCATION / COMMENT / TBLPROPERTIES | — | <span className="e6-status e6-status--no">No</span> |
| CREATE TABLE AS SELECT (CTAS) | — | <span className="e6-status e6-status--no">No</span> |
| REPLACE TABLE AS SELECT (RTAS) | — | <span className="e6-status e6-status--no">No</span> |
| CREATE TABLE … LIKE | — | <span className="e6-status e6-status--no">No</span> |
| DROP TABLE | — | <span className="e6-status e6-status--no">No</span> |
| DROP TABLE … PURGE | — | <span className="e6-status e6-status--no">No</span> |

### ALTER TABLE: table and columns

| Command | Iceberg spec | e6data |
| - | - | - |
| RENAME TO | — | <span className="e6-status e6-status--no">No</span> |
| SET / UNSET TBLPROPERTIES | — | <span className="e6-status e6-status--no">No</span> |
| ADD COLUMN(S), incl. nested | — | <span className="e6-status e6-status--no">No</span> |
| RENAME COLUMN | — | <span className="e6-status e6-status--no">No</span> |
| ALTER COLUMN … TYPE (widening) | — | <span className="e6-status e6-status--no">No</span> |
| ALTER COLUMN … COMMENT | — | <span className="e6-status e6-status--no">No</span> |
| ALTER COLUMN … FIRST / AFTER | — | <span className="e6-status e6-status--no">No</span> |
| ALTER COLUMN … DROP NOT NULL | — | <span className="e6-status e6-status--no">No</span> |
| DROP COLUMN | — | <span className="e6-status e6-status--no">No</span> |

### ALTER TABLE: partitioning, ordering, identifiers

| Command | Iceberg spec | e6data |
| - | - | - |
| ADD PARTITION FIELD | — | <span className="e6-status e6-status--no">No</span> |
| DROP PARTITION FIELD | — | <span className="e6-status e6-status--no">No</span> |
| REPLACE PARTITION FIELD | — | <span className="e6-status e6-status--no">No</span> |
| WRITE ORDERED BY | — | <span className="e6-status e6-status--no">No</span> |
| WRITE LOCALLY ORDERED BY | — | <span className="e6-status e6-status--no">No</span> |
| WRITE DISTRIBUTED BY PARTITION | — | <span className="e6-status e6-status--no">No</span> |
| WRITE UNORDERED | — | <span className="e6-status e6-status--no">No</span> |
| SET IDENTIFIER FIELDS | — | <span className="e6-status e6-status--no">No</span> |
| DROP IDENTIFIER FIELDS | — | <span className="e6-status e6-status--no">No</span> |

### Branches and tags

| Command | Iceberg spec | e6data |
| - | - | - |
| CREATE \[OR REPLACE] BRANCH | — | <span className="e6-status e6-status--no">No</span> |
| REPLACE BRANCH | — | <span className="e6-status e6-status--no">No</span> |
| DROP BRANCH | — | <span className="e6-status e6-status--no">No</span> |
| CREATE \[OR REPLACE] TAG | — | <span className="e6-status e6-status--no">No</span> |
| DROP TAG | — | <span className="e6-status e6-status--no">No</span> |

### Views (Iceberg view spec)

| Command | Iceberg spec | e6data |
| - | - | - |
| CREATE VIEW | — | <span className="e6-status e6-status--no">No</span> |
| CREATE OR REPLACE VIEW | — | <span className="e6-status e6-status--no">No</span> |
| ALTER VIEW … SET / UNSET TBLPROPERTIES | — | <span className="e6-status e6-status--no">No</span> |
| DROP VIEW | — | <span className="e6-status e6-status--no">No</span> |
| SHOW VIEWS | — | <span className="e6-status e6-status--no">No</span> |
| SHOW CREATE TABLE on a view | — | <span className="e6-status e6-status--no">No</span> |

## DML

### Writes

| Operation | Iceberg spec | e6data |
| - | - | - |
| INSERT INTO | — | <span className="e6-status e6-status--no">No</span> |
| INSERT OVERWRITE (dynamic) | — | <span className="e6-status e6-status--no">No</span> |
| INSERT OVERWRITE (static partitions) | — | <span className="e6-status e6-status--no">No</span> |
| MERGE INTO | — | <span className="e6-status e6-status--no">No</span> |
| ↳ Copy-on-write | — | <span className="e6-status e6-status--no">No</span> |
| ↳ Merge-on-read | — | <span className="e6-status e6-status--no">No</span> |
| DELETE FROM | — | <span className="e6-status e6-status--no">No</span> |
| ↳ Copy-on-write | — | <span className="e6-status e6-status--no">No</span> |
| ↳ Merge-on-read | — | <span className="e6-status e6-status--no">No</span> |
| UPDATE | — | <span className="e6-status e6-status--no">No</span> |
| ↳ Copy-on-write | — | <span className="e6-status e6-status--no">No</span> |
| ↳ Merge-on-read | — | <span className="e6-status e6-status--no">No</span> |

### Branch writes and concurrency

| Operation | Iceberg spec | e6data |
| - | - | - |
| Write to a branch | — | <span className="e6-status e6-status--no">No</span> |
| Write-audit-publish (WAP) | — | <span className="e6-status e6-status--no">No</span> |
| Optimistic concurrency with retries | — | <span className="e6-status e6-status--no">No</span> |
| Serializable isolation | — | <span className="e6-status e6-status--no">No</span> |

## Queries and metadata tables

### Reads and time travel

| Query | Iceberg spec | e6data |
| - | - | - |
| SELECT from Iceberg table | — | <span className="e6-status e6-status--yes">Yes</span> |
| VERSION AS OF \<snapshot-id> | — | <span className="e6-status e6-status--yes">Yes</span> |
| VERSION AS OF \<branch or tag> | — | <span className="e6-status e6-status--no">No</span> |
| TIMESTAMP AS OF | — | <span className="e6-status e6-status--yes">Yes</span> |
| Incremental read between snapshots | — | <span className="e6-status e6-status--no">No</span> |
| Time travel on metadata tables | — | <span className="e6-status e6-status--yes">Yes</span> |

### Metadata tables

| Query | Iceberg spec | e6data |
| - | - | - |
| history | — | <span className="e6-status e6-status--yes">Yes</span> |
| metadata\_log\_entries | — | <span className="e6-status e6-status--yes">Yes</span> |
| snapshots | — | <span className="e6-status e6-status--yes">Yes</span> |
| entries | — | <span className="e6-status e6-status--yes">Yes</span> |
| files | — | <span className="e6-status e6-status--yes">Yes</span> |
| data\_files | — | <span className="e6-status e6-status--yes">Yes</span> |
| delete\_files | — | <span className="e6-status e6-status--yes">Yes</span> |
| manifests | — | <span className="e6-status e6-status--yes">Yes</span> |
| partitions | — | <span className="e6-status e6-status--yes">Yes</span> |
| position\_deletes | — | <span className="e6-status e6-status--no">No</span> |
| refs | — | <span className="e6-status e6-status--yes">Yes</span> |
| all\_data\_files | — | <span className="e6-status e6-status--yes">Yes</span> |
| all\_delete\_files | — | <span className="e6-status e6-status--yes">Yes</span> |
| all\_files | — | <span className="e6-status e6-status--yes">Yes</span> |
| all\_entries | — | <span className="e6-status e6-status--yes">Yes</span> |
| all\_manifests | — | <span className="e6-status e6-status--yes">Yes</span> |

## Procedures and maintenance

Procedures as documented in Iceberg's Spark procedures docs (CALL catalog.system.\<name>). An equivalent command in e6data counts as Yes; note the syntax.

### Snapshot management

| Procedure | Iceberg spec | e6data |
| - | - | - |
| rollback\_to\_snapshot | — | <span className="e6-status e6-status--no">No</span> |
| rollback\_to\_timestamp | — | <span className="e6-status e6-status--no">No</span> |
| set\_current\_snapshot | — | <span className="e6-status e6-status--no">No</span> |
| cherrypick\_snapshot | — | <span className="e6-status e6-status--no">No</span> |
| publish\_changes | — | <span className="e6-status e6-status--no">No</span> |
| fast\_forward | — | <span className="e6-status e6-status--no">No</span> |

### Metadata management

| Procedure | Iceberg spec | e6data |
| - | - | - |
| expire\_snapshots | — | <span className="e6-status e6-status--no">No</span> |
| remove\_orphan\_files | — | <span className="e6-status e6-status--no">No</span> |
| rewrite\_data\_files (compaction) | — | <span className="e6-status e6-status--no">No</span> |
| ↳ sort / z-order strategy | — | <span className="e6-status e6-status--no">No</span> |
| rewrite\_manifests | — | <span className="e6-status e6-status--no">No</span> |
| rewrite\_position\_delete\_files | — | <span className="e6-status e6-status--no">No</span> |

### Table migration

| Procedure | Iceberg spec | e6data |
| - | - | - |
| snapshot | — | <span className="e6-status e6-status--no">No</span> |
| migrate | — | <span className="e6-status e6-status--no">No</span> |
| add\_files | — | <span className="e6-status e6-status--no">No</span> |
| register\_table | — | <span className="e6-status e6-status--no">No</span> |

### Metadata, CDC, statistics, replication

| Procedure | Iceberg spec | e6data |
| - | - | - |
| ancestors\_of | — | <span className="e6-status e6-status--no">No</span> |
| create\_changelog\_view (CDC) | — | <span className="e6-status e6-status--no">No</span> |
| compute\_table\_stats | — | <span className="e6-status e6-status--no">No</span> |
| compute\_partition\_stats | — | <span className="e6-status e6-status--no">No</span> |
| rewrite\_table\_path (replication) | — | <span className="e6-status e6-status--no">No</span> |

## Catalog implementations

Catalogs documented by Apache Iceberg. Third-party catalogs that speak the REST spec (e.g. Polaris, Gravitino, Lakekeeper) count under REST.

| Catalog | Iceberg spec | e6data read | e6data write |
| - | - | - | - |
| REST catalog | — | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--partial">Partial</span> |
| Hive Metastore catalog | — | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| AWS Glue catalog | — | <span className="e6-status e6-status--yes">Yes</span> | <span className="e6-status e6-status--no">No</span> |
| JDBC / SQL catalog | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Hadoop (file-system) catalog | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Nessie catalog | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| AWS DynamoDB catalog | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |
| Custom catalog | — | <span className="e6-status e6-status--no">No</span> | <span className="e6-status e6-status--no">No</span> |

## REST catalog operations

Operations listed on the Iceberg Implementation status page and REST Catalog spec.

### Namespace operations

| Operation | Iceberg spec | e6data |
| - | - | - |
| listNamespaces | — | <span className="e6-status e6-status--yes">Yes</span> |
| createNamespace | — | <span className="e6-status e6-status--no">No</span> |
| dropNamespace | — | <span className="e6-status e6-status--no">No</span> |
| namespaceExists | — | <span className="e6-status e6-status--no">No</span> |
| updateNamespaceProperties | — | <span className="e6-status e6-status--no">No</span> |
| loadNamespaceMetadata | — | <span className="e6-status e6-status--yes">Yes</span> |

### Table operations

| Operation | Iceberg spec | e6data |
| - | - | - |
| listTables | — | <span className="e6-status e6-status--yes">Yes</span> |
| createTable | — | <span className="e6-status e6-status--no">No</span> |
| dropTable | — | <span className="e6-status e6-status--no">No</span> |
| loadTable | — | <span className="e6-status e6-status--yes">Yes</span> |
| updateTable (commit) | — | <span className="e6-status e6-status--no">No</span> |
| renameTable | — | <span className="e6-status e6-status--yes">Yes</span> |
| tableExists | — | <span className="e6-status e6-status--no">No</span> |
| registerTable | — | <span className="e6-status e6-status--no">No</span> |

### View operations

| Operation | Iceberg spec | e6data |
| - | - | - |
| createView | — | <span className="e6-status e6-status--yes">Yes</span> |
| dropView | — | <span className="e6-status e6-status--yes">Yes</span> |
| listViews | — | <span className="e6-status e6-status--yes">Yes</span> |
| viewExists | — | <span className="e6-status e6-status--no">No</span> |
| replaceView | — | <span className="e6-status e6-status--no">No</span> |
| renameView | — | <span className="e6-status e6-status--no">No</span> |

### Other REST capabilities

| Operation | Iceberg spec | e6data |
| - | - | - |
| Multi-table transaction commit | — | <span className="e6-status e6-status--no">No</span> |
| Credential vending (loadCredentials) | — | <span className="e6-status e6-status--no">No</span> |
| Server-side scan planning | — | <span className="e6-status e6-status--no">No</span> |
| Metrics reporting | — | <span className="e6-status e6-status--no">No</span> |
| OAuth2 authentication | — | <span className="e6-status e6-status--no">No</span> |

## File IO

Storage backends from the Implementation status page.

| Storage | Iceberg spec | e6data |
| - | - | - |
| Local filesystem | — | <span className="e6-status e6-status--yes">Yes</span> |
| Hadoop filesystem (HDFS) | — | <span className="e6-status e6-status--no">No</span> |
| S3 compatible | — | <span className="e6-status e6-status--yes">Yes</span> |
| GCS compatible | — | <span className="e6-status e6-status--yes">Yes</span> |
| ADLS compatible | — | <span className="e6-status e6-status--yes">Yes</span> |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.