qa and review for phase 2

This commit is contained in:
2026-08-17 10:18:58 +01:00
parent 7a64f00014
commit f639b19c13
3 changed files with 37 additions and 35 deletions
+7 -7
View File
@@ -68,13 +68,13 @@ hagfish/
### Phase 2: DuckDB Storage
- [ ] 2.1 Add duckdb crate dependency (bundled feature)
- [ ] 2.2 Implement db.rs::init(path) — create tables: landings fact table + 6 lookup tables. Add indexes on month, species_code.
- [ ] 2.3 Implement db.rs::upsert_landings(rows) — batch insert with delete+insert per month or INSERT OR REPLACE
- [ ] 2.4 Implement db.rs::update_lookups(metadata) — populate lookup tables from metadata response
- [ ] 2.5 Implement db.rs::get_last_month() — query max month from landings table for incremental ingestion
- [ ] 2.6 Implement db.rs::export_parquet(path) — COPY landings TO 'path' (FORMAT PARQUET) partitioned by month
- [ ] 2.7 Write integration tests: init in-memory DB, insert sample rows, query back, verify NULL handling
- [x] 2.1 Add duckdb crate dependency (bundled feature)
- [x] 2.2 Implement db.rs::init(path) — create tables: landings fact table + 6 lookup tables. Add indexes on month, species_code.
- [x] 2.3 Implement db.rs::upsert_landings(rows) — batch insert with delete+insert per month or INSERT OR REPLACE
- [x] 2.4 Implement db.rs::update_lookups(metadata) — populate lookup tables from metadata response
- [x] 2.5 Implement db.rs::get_last_month() — query max month from landings table for incremental ingestion
- [x] 2.6 Implement db.rs::export_parquet(path) — COPY landings TO 'path' (FORMAT PARQUET) partitioned by month
- [x] 2.7 Write integration tests: init in-memory DB, insert sample rows, query back, verify NULL handling
### Phase 3: API (Axum)