Skip to content

feat(playground): add SQL catalog support#2122

Open
Shekharrajak wants to merge 5 commits intoapache:mainfrom
Shekharrajak:feat/playground-sql-catalog
Open

feat(playground): add SQL catalog support#2122
Shekharrajak wants to merge 5 commits intoapache:mainfrom
Shekharrajak:feat/playground-sql-catalog

Conversation

@Shekharrajak
Copy link
Copy Markdown
Contributor

Which issue does this PR close?

What changes are included in this PR?

Added SqlCatalogBuilder

Are these changes tested?

unit tests
and local testing :

 cat ~/.icebergrc 

  # SQLite (file-based - persistent)
  [[catalogs]]
  name = "local"
  type = "sql"
  [catalogs.config]
  uri = "sqlite:/tmp/iceberg-catalog.db"
  warehouse = "/tmp/iceberg-warehouse"

  Other database examples:

  # PostgreSQL
  [[catalogs]]
  name = "pg_catalog"
  type = "sql"
  [catalogs.config]
  uri = "postgresql://user:pass@localhost:5432/iceberg"
  warehouse = "s3://my-bucket/warehouse"

  # MySQL
  [[catalogs]]
  name = "mysql_catalog"
  type = "sql"
  [catalogs.config]
  uri = "mysql://user:pass@localhost:3306/iceberg"
  warehouse = "/data/warehouse"


# run playground : 

$ ./target/release/iceberg-playground

to build the release : 

cargo build -p iceberg-playground --release

create db : sqlite3 /tmp/iceberg-catalog.db "SELECT 1;" 

create config : 

  cat > ~/.icebergrc << 'EOF'
  [[catalogs]]
  name = "local"
  type = "sql"
  [catalogs.config]
  uri = "sqlite:/tmp/iceberg-catalog.db"
  warehouse = "/tmp/iceberg-warehouse"
  EOF

Run in playground: 

./target/release/iceberg-playground

Screenshot 2026-02-07 at 1 01 32 PM

@Shekharrajak
Copy link
Copy Markdown
Contributor Author

We can merge this first #2121 and I will resolve conflicts for this code changes.

@Shekharrajak Shekharrajak force-pushed the feat/playground-sql-catalog branch from 2a8e793 to 1b54f32 Compare February 16, 2026 19:03
Shekharrajak and others added 4 commits February 17, 2026 10:09
Combines SQL catalog support (from feature branch) with memory catalog
support (from upstream main). Both catalog types are now supported:
- rest
- sql
- memory
- Add missing closing delimiters )); and } for unsupported catalog type error
- Remove duplicate `use super::*;` statement in tests module
@Shekharrajak
Copy link
Copy Markdown
Contributor Author

cc @blackmwk @liurenjie1024
CI checks are looking good.
This implementation will help in completing EPIC #1155

@blackmwk
Copy link
Copy Markdown
Contributor

Hi, @Shekharrajak See #2169 (comment)

@github-actions
Copy link
Copy Markdown
Contributor

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Mar 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support sql catalog in playground

2 participants