Recipes
Self-contained, runnable scenarios for the patterns developers actually ship with K3 Tables. Every recipe is grounded in real RPCs, real CLI commands, and the warehouse-compatible Scriptum catalog.
What’s here
| Recipe | Key APIs | When you need it |
|---|---|---|
| Manual Table | CreateTable · Insert · Merge · Query · Optimize · Compact | You have structured data + know the schema. SQL-first workflow end-to-end. |
| Pipeline-bound Table | CreateTablePipeline · pipeline ingest plane · Query | You have unstructured documents and want rows auto-extracted via a Scriptum template. Bridges Pipelines → Tables. |
| Time Travel & Restore | History · Restore · Vacuum | Recover from bad writes; understand the vacuum-retention safety window. Delta Lake’s signature feature. |
| CTAS & Materialize | Execute (CTAS) · Materialize | Derive new tables from SQL queries — analytical ETL within K3. |
Conventions used in these recipes
- CLI-first — every step has a
dodil k3 table ...command. Anything not in the CLI today drops tocurlagainst the API. - Endpoint examples use staging
https://k3.dev.dodil.io. Production:https://k3.dodil.io. - Bucket placeholder is
kb-prod; engine is auto-enabled there fromCreateBucket. - Consistent example schema — most recipes use a fictional
eventstable with composite PK(id, user_id), partition columnevent_type, and a JSONpayloadcolumn. See Manual Table → step 1.
Other useful pages
- Quickstart — first table + first INSERT + first query in 5 minutes
- Core Concepts — Engine, Table, Column, strategies, freshness, history
- SQL Compatibility — DuckDB dialect contract
- API Reference — full surface (Tables · Data · Execute · Maintenance · Templates · Engine)
- CLI Guide — every
dodil k3 table/enginecommand