Skip to content

Commit ff71517

Browse files
feat(codegen): split sidecar DDL by dialect; reject json sidecar (#45) (#129)
generate_sidecar_schema now takes a SqlDialect and dispatches to new overlay::sqlite / overlay::postgres modules. The portable table bodies are shared via assemble(); the only dialect-divergent fragment — the metadata upsert — is per-module: SQLite INSERT OR IGNORE vs PostgreSQL INSERT … ON CONFLICT DO NOTHING. The SQLite-only datetime('now') is replaced by portable CURRENT_TIMESTAMP. SqlDialect::from_storage maps [sidecar].storage: sqlite→Sqlite, postgres/postgresql→Postgres, and rejects "json" (previously it silently emitted SQLite DDL for a JSON store) with a pointer to the split-out tracking issue #112. main.rs derives the dialect from the manifest; SidecarConfig docs updated. 6 existing overlay tests retained (now dialect-explicit) + 5 new: sqlite seed/timestamp, postgres ON CONFLICT, shared bodies, empty schema, storage→dialect mapping. Suite: 112 lib + 9 integration green. Closes #45. Co-authored-by: hyperpolymath <hyperpolymath@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 1edaebd commit ff71517

0 file changed

File tree

    0 commit comments

    Comments
     (0)