Skip to content

Commit d4e5868

Browse files
Updating readme with mysql and PME support (#35)
1 parent 973865e commit d4e5868

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ The goal of this project is to make DuckLake a first-class, Arrow-native lakehou
1111
## Currently Supported
1212

1313
- Read-only queries against DuckLake catalogs
14-
- DuckDB and PostgreSQL catalog backends
14+
- DuckDB, PostgreSQL, and MySQL catalog backends
1515
- Local filesystem and S3-compatible object stores (MinIO, S3)
1616
- Snapshot-based consistency
1717
- Basic and decimal types
1818
- Hierarchical path resolution (`data_path`, `schema`, `table`, `file`)
1919
- Delete files for row-level deletion (MOR – Merge-On-Read)
20+
- Parquet Modular Encryption (PME) for reading encrypted Parquet files
2021
- Parquet footer size hints for optimized I/O
2122
- Filter pushdown to Parquet for row group pruning and page-level filtering
2223
- Dynamic metadata lookup (no upfront catalog caching)
@@ -31,6 +32,7 @@ The goal of this project is to make DuckLake a first-class, Arrow-native lakehou
3132
- No write operations
3233
- No partition-based file pruning
3334
- No time travel support
35+
- DuckDB-encrypted Parquet files (non-PME) are not supported
3436

3537
---
3638

@@ -41,10 +43,7 @@ This project is under active development. The roadmap below reflects major areas
4143
### Metadata & Catalog Improvements
4244

4345
- Metadata caching to reduce repeated catalog lookups
44-
- Pluggable metadata providers beyond DuckDB:
45-
- PostgreSQL
46-
- SQLite
47-
- MySQL
46+
- SQLite metadata provider
4847
- Clear abstraction boundaries between catalog, metadata provider, and execution
4948

5049
### Query Planning & Performance
@@ -86,6 +85,7 @@ This project is under active development. The roadmap below reflects major areas
8685
|---------|-------------|---------|
8786
| `metadata-duckdb` | DuckDB catalog backend ||
8887
| `metadata-postgres` | PostgreSQL catalog backend | |
88+
| `metadata-mysql` | MySQL catalog backend | |
8989

9090
```bash
9191
# DuckDB only (default)
@@ -94,15 +94,26 @@ cargo build
9494
# PostgreSQL only
9595
cargo build --no-default-features --features metadata-postgres
9696

97-
# Both backends
98-
cargo build --features metadata-postgres
97+
# MySQL only
98+
cargo build --no-default-features --features metadata-mysql
99+
100+
# All backends
101+
cargo build --features metadata-postgres,metadata-mysql
99102
```
100103

101104
### Example
102105

103106
```bash
104-
cargo run --example basic_query -- <catalog.db> <sql>
107+
# DuckDB catalog
108+
cargo run --example basic_query -- catalog.db "SELECT * FROM main.users"
109+
110+
# PostgreSQL catalog
111+
cargo run --example basic_query --features metadata-postgres -- \
112+
"postgresql://user:password@localhost:5432/database" "SELECT * FROM main.users"
105113

114+
# MySQL catalog
115+
cargo run --example basic_query --features metadata-mysql -- \
116+
"mysql://user:password@localhost:3306/database" "SELECT * FROM main.users"
106117
```
107118

108119
### Integration

0 commit comments

Comments
 (0)