Skip to content

Refresh README for the googlesqlite backend and add a feature matrix#461

Merged
goccy merged 4 commits into
mainfrom
docs/update-readme-googlesqlite
May 18, 2026
Merged

Refresh README for the googlesqlite backend and add a feature matrix#461
goccy merged 4 commits into
mainfrom
docs/update-readme-googlesqlite

Conversation

@goccy

@goccy goccy commented May 18, 2026

Copy link
Copy Markdown
Owner

Summary

Refreshes the README for the googlesqlite SQL backend (introduced in #448) and replaces the scattered status caveats with a single, MECE feature-support matrix.

Changes

  • docs/feature-support.md (new) — a MECE (mutually exclusive, collectively exhaustive) BigQuery feature support matrix, organized after the official BigQuery documentation and REST API reference. It covers the full REST surface, job types, table types, ingestion/export formats, the GoogleSQL surface, security & governance, BigQuery ML, the Storage API, integrations and emulator-specific features. Support status was determined by auditing the actual handler code.
  • README Status section — slimmed down to a short overview that links to the matrix, instead of scattering partial caveats across the README.
  • Sponsorship section — added, adapted from the goccy/googlesqlite project and rewritten from the bigquery-emulator project's perspective; the former "Goals and Sponsors" heading is split into "Goals" and "Sponsorship".
  • Google Standard SQLGoogleSQL — renamed to the section's current name, and the function coverage now reflects googlesqlite v0.1.0's spec-driven support matrix (~570 built-in functions) instead of the stale "200+ functions".
  • Noted the multi-client conformance suite under test/e2e.
  • Replaced the cgo-only go-sqlite3 reference in the type-conversion description with generic SQLite-driver wording.

Notes

  • JavaScript UDF is kept as supported: googlesqlite embeds the pure-Go goja engine (transitive dependency via googlesqlite v0.1.0).
  • INFORMATION_SCHEMA is marked partially supported: googlesqlite implements the SCHEMATA, TABLES, TABLE_OPTIONS and COLUMNS views.

Docs-only change — no code is modified.

🤖 Generated with Claude Code

goccy and others added 4 commits May 18, 2026 13:42
Reflect the switch to the googlesqlite SQL backend and document, in one
place, what the emulator actually supports today.

- Add docs/feature-support.md: a MECE (mutually exclusive, collectively
  exhaustive) BigQuery feature support matrix, organized after the
  official BigQuery documentation and REST API reference. It covers the
  full REST surface, job types, table types, ingestion/export formats,
  the GoogleSQL surface, security, BigQuery ML, the Storage API,
  integrations and emulator-specific features.
- Slim the README Status section down to a short overview that links to
  that matrix, instead of scattering partial caveats across the README.
- Add a Sponsorship section adapted from the googlesqlite project,
  rewritten from the bigquery-emulator project's perspective, and split
  the former "Goals and Sponsors" heading into "Goals" and "Sponsorship".
- Rename the "Google Standard SQL" section to "GoogleSQL" (its current
  name) and update the function coverage to googlesqlite v0.1.0's
  spec-driven support matrix instead of the stale "200+ functions".
- Note the multi-client conformance suite under test/e2e.
- Replace the cgo-only go-sqlite3 reference in the type conversion
  description with the generic SQLite driver wording.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The build/test and release workflows pinned Go 1.21.5, while go.mod now
declares go 1.25.0. Replace the hardcoded go-version with
go-version-file: go.mod so CI tracks the module's Go version
automatically, matching what the integration workflow already does.
Also bump actions/setup-go to v5 (v2/v4 predate go-version-file).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The SQL backend is now pure Go and the build no longer links native
code (see #448), so the mold linker is no longer needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The test job ran setup-go before checkout. That worked while the Go
version was hardcoded, but go-version-file: go.mod needs go.mod to be
present, so checkout must run first.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@goccy goccy merged commit d21b248 into main May 18, 2026
12 checks passed
@goccy goccy deleted the docs/update-readme-googlesqlite branch May 18, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant