cockroachdb / cockroachdb/copyist

Support the cgo-free SQLite driver (modernc.org/sqlite)

Open
#40 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.