Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sql catalog #229

Closed
wants to merge 37 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
70d91f2
initialize sql catalog crate
JanKaul Mar 1, 2024
2df82ae
implement basic sql catalog functionality
JanKaul Mar 4, 2024
8de3373
fix clippy warnings
JanKaul Mar 4, 2024
e73fce2
fix format
JanKaul Mar 4, 2024
caeba8f
fix cargo sort
JanKaul Mar 4, 2024
da3aac6
fix ordering
JanKaul Mar 4, 2024
f958034
fix ordering
JanKaul Mar 4, 2024
08d0e86
fix connection pool issue for sql catalog
Apr 10, 2024
8a10ad1
use prepared statements
JanKaul Mar 12, 2024
8556d3b
move the sqllite database creation part inside test case.
Apr 10, 2024
0ce0fda
run test
JanKaul Mar 13, 2024
a9bdb81
style fix and few additional logic removal and add todo check.
Apr 10, 2024
769f8f5
rebase
JanKaul Apr 8, 2024
4dc95c3
create sqlconfig, fix rest of the tests and remove todo
Apr 17, 2024
989c61b
Merge pull request #1 from himadripal/sql-catalog-conn-pool-fix
JanKaul Apr 12, 2024
222f360
Merge pull request #2 from himadripal/sql-catalog-conn-pool-fix-2
JanKaul Apr 18, 2024
0e7b2ea
use varchar
JanKaul Apr 24, 2024
01c9e43
use static strings for sql identifiers
JanKaul Apr 25, 2024
fead32c
fix namespace encoding
JanKaul Apr 25, 2024
d18393d
fix typo
JanKaul Apr 25, 2024
0b1141c
Fix heading
JanKaul Apr 25, 2024
80e22d5
Update crates/catalog/sql/src/catalog.rs
JanKaul Apr 26, 2024
193da0b
rename fileio
JanKaul Apr 26, 2024
0318576
simplify conversion from string to NamespaceIdent
JanKaul Apr 26, 2024
ab65793
use uri for database connection
JanKaul Apr 26, 2024
214274a
use features for sqlx database support
JanKaul Apr 26, 2024
23db911
use statics for pool default values
JanKaul Apr 26, 2024
75bf2f3
move derive Default
JanKaul Apr 26, 2024
841f916
create new tempdir for every test run
JanKaul Apr 26, 2024
fe1ea0c
use table record type
JanKaul Apr 26, 2024
8851e3c
use parent for list namespaces
JanKaul Apr 29, 2024
f1d0582
fix typo
JanKaul Apr 29, 2024
4967b76
fix clippy warning
JanKaul Apr 29, 2024
6975123
use statics for namespace sql
JanKaul Apr 29, 2024
bef93b2
create namespace
JanKaul Jun 20, 2024
4bf7e2f
remove cache
JanKaul Jun 20, 2024
75898b5
fix list_namespaces
JanKaul Jun 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions crates/catalog/sql/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

[package]
name = "iceberg-catalog-sql"
version = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
rust-version = { workspace = true }

categories = ["database"]
description = "Apache Iceberg Rust Sql Catalog"
repository = { workspace = true }
license = { workspace = true }
keywords = ["iceberg", "sql", "catalog"]

[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
chrono = { workspace = true }
futures = { workspace = true }
iceberg = { workspace = true }
log = { workspace = true }
opendal = { workspace = true }
serde = { workspace = true }
serde_derive = { workspace = true }
serde_json = { workspace = true }
sqlx = { version = "0.7.4", features = ["tls-rustls", "any" ], default-features = false }
typed-builder = { workspace = true }
url = { workspace = true }
urlencoding = { workspace = true }
uuid = { workspace = true, features = ["v4"] }

[dev-dependencies]
iceberg_test_utils = { path = "../../test_utils", features = ["tests"] }
sqlx = { version = "0.7.4", features = ["tls-rustls", "runtime-tokio", "any", "sqlite", "migrate"], default-features = false }
tempfile = { workspace = true }
tokio = { workspace = true }

[features]
sqlite = ["sqlx/sqlite"]
postgres = ["sqlx/postgres"]
mysql = ["sqlx/mysql"]
21 changes: 21 additions & 0 deletions crates/catalog/sql/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->

# Apache Iceberg Sql Catalog Official Native Rust Implementation

Loading
Loading