Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sqlc-dev/meyer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: sqlc-dev/meyer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: claude/go-sqlite-sql-parser-r8o75v
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 155 files changed
  • 1 contributor

Commits on Jul 30, 2026

  1. Add test corpus, oracle tooling, and the implementation loop

    Build the conformance corpus and workflow ahead of parser implementation:
    
    - cmd/regenerate-parse: extracts literal SQL from SQLite's TCL test suite
      (do_execsql_test, do_catchsql_test, and single-call do_test bodies) and
      records ground truth from a real SQLite build — a small embedded C oracle
      compiled against the pinned 3.53.4 amalgamation that splits statements
      shell-style and prepares each one against :memory: without executing.
      Downloads are pinned by SHA-256 and cached in .sqlite/ (gitignored).
    - parser/testdata: 4,685 cases across 69 corpus files with raw
      per-statement oracle results (ok, or exact error message and offset),
      plus metadata sidecars marking every case as todo.
    - internal/testfile: corpus file format, metadata sidecars, and the
      accept/reject classification policy (syntax-family errors must be
      reproduced verbatim; semantic prepare errors mean the parse succeeded).
    - internal/tclextract: conservative TCL extraction; anything it cannot take
      verbatim is counted and skipped, never guessed at.
    - cmd/next-test: picks the next todo case to implement.
    - parser, ast: API skeletons (Parse, parser.Error, Node/Stmt/Expr) so the
      harness compiles; parser/parser_test.go runs the corpus, skipping todo
      cases by default and clearing them from metadata under -check-parse.
    - CLAUDE.md, README.md, testdata provenance README, MIT LICENSE, CI.
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_014vjRSyzyQ5AGtfH8DZYcfc
    claude committed Jul 30, 2026
    Configuration menu
    Copy the full SHA
    85c0067 View commit details
    Browse the repository at this point in the history
Loading