Documentation
¶
Overview ¶
Package conformance holds the value corpus this repository checks SQLite round-trips byte-for-byte, and the SQL expression cases whose results must agree across implementations.
It is a separate package with no dependency on the binding so that anything can drive it: this repository's own test suite, and the bake-off under bench/, which runs the same corpus through competing SQLite drivers to check that they agree with each other and with upstream.
The value corpus is not a random sample. Every entry is a class that has been observed to survive a naive implementation's tests and then lose data in production: text carrying real newlines, embedded NUL, characters outside the basic multilingual plane, and byte sequences that are not valid UTF-8 at all. Invisible characters are written as escapes so that what the corpus tests is legible in the source rather than only in a hex dump.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Capability ¶
Capability is a probe whose answer legitimately differs between SQLite builds: which optional modules are compiled in, which threading mode, which version. These are reported rather than asserted -- a build without FTS5 is a different build, not a wrong one -- and the differences are exactly what a comparison between implementations needs to surface.
func Capabilities ¶
func Capabilities() []Capability
Capabilities is the build-configuration probe set.
type Expr ¶
Expr is a SQL expression whose single-column result every implementation must agree on. These check the semantics a shared SQLite gives you -- integer range, floating-point rendering, type affinity, NULL propagation, and the compiled-in function set -- rather than the transport.