Crate iceberg_catalog_sql

Source
Expand description

Iceberg sql catalog implementation.

To build a sql catalog with configurations

§Example

use std::collections::HashMap;

use iceberg::CatalogBuilder;
use iceberg_catalog_sql::{
    SQL_CATALOG_PROP_BIND_STYLE, SQL_CATALOG_PROP_URI, SQL_CATALOG_PROP_WAREHOUSE,
    SqlBindStyle, SqlCatalogBuilder,
};

#[tokio::main]
async fn main() {
    let catalog = SqlCatalogBuilder::default()
        .load(
            "sql",
            HashMap::from_iter([
                (
                    SQL_CATALOG_PROP_URI.to_string(),
                    "http://localhost:8181".to_string(),
                ),
                (
                    SQL_CATALOG_PROP_WAREHOUSE.to_string(),
                    "s3://warehouse".to_string(),
                ),
                (
                    SQL_CATALOG_PROP_BIND_STYLE.to_string(),
                    SqlBindStyle::QMark.to_string(),
                ),
            ]),
        )
        .await
        .unwrap();
}

Structs§

SqlCatalog
Sql catalog implementation.
SqlCatalogBuilder
Builder for SqlCatalog

Enums§

SqlBindStyle
Set the SQL parameter bind style to either $1..$N (Postgres style) or ? (SQLite/MySQL/MariaDB)

Constants§

SQL_CATALOG_PROP_BIND_STYLE
catalog sql bind style
SQL_CATALOG_PROP_URI
catalog URI
SQL_CATALOG_PROP_WAREHOUSE
catalog warehouse location