cockroachdb / cockroachdb/copyist
Support the cgo-free SQLite driver (modernc.org/sqlite)
- Dominant language
- Go
- Stars
- 850
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Description
The README currently states that copyist supports only the Postgres `pq` and `pgx stdlib` drivers, and invites contributions for other drivers such as SQLite.
SQLite support would be particularly attractive for the copyist workflow:
- Recording needs no server and no Docker — just a local database file — so the record/playback cycle works anywhere, including minimal CI environments.
- The cgo-free `modernc.org/sqlite` driver keeps builds simple (no C toolchain) and registers as a standard `database/sql` driver, which is exactly the level copyist operates at.
One design question a contribution has to answer: `modernc.org/sqlite`'s `Error` type has unexported fields and no exported constructor, so it cannot be reconstructed during playback the way `*pq.Error`/`*pgconn.PgError` are — error fidelity needs an explicit approach (e.g. preserving the message and numeric code).
An implementation of this is proposed in PR #37.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.