Skip to content

Verify wicked sqlc migration with isolated runtime contracts - #2

Merged
Stumble merged 1 commit into
mainfrom
test/wicked-upstream-sync
Sep 9, 2026
Merged

Stumble merged 1 commit into
mainfrom
test/wicked-upstream-sync

Conversation

@Stumble

@Stumble Stumble commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

Verify the wicked sqlc upstream migration with real PostgreSQL/Redis contracts.
Tests own isolated containers on random ports, so database recreation and Redis
flushing cannot affect existing development services.

Regenerate with the migrated fork while retaining wpgx v0.3.1 and dcache v0.1.3.
Add copyfrom coverage and regressions for cache/DB deadlines, cache hits and
negative caching, nullable pointer keys, JSON, nil-cache mutations, multiple
invalidation targets, and commit-versus-rollback invalidation.

Three golden values change from base64 strings to JSON objects/arrays because
json.RawMessage was already wicked v2.3.4 behavior. Existing business calls and
SQL are preserved apart from the added activities copyfrom test query.

Verification

  • make sqlc / make sqlc-verify with the migrated fork.
  • All 17 generated files match same-input v2.3.4 output except version comments.
  • Revalidated after the paired sqlc PR's compatibility follow-up using the binary
    built from 62d9e5b26: generation/diff produce no changes to this PR.
  • GOFLAGS=-count=1 make test: fresh suite passes (14 methods plus two search subcases).
  • go test -race -count=1 -p 1 -timeout 10m ./pkg/usecases: passes.
  • make lint-fix: zero issues; credential/golden checks completed.

No production migration or runtime dependency upgrade. Replica tests use a
separate connection configuration to the same owned database; they do not
simulate replication lag. Broader type/import/JSON consumer fixtures live in
the paired sqlc PR rather than treating this example as exhaustive coverage.

Related PR and merge order

Generator migration: Stumble/sqlc#17 (supersedes #16's merge-based review).
The generator is now exactly two commits directly on upstream v1.31.1; its
product tree is unchanged from the verified version. Apply the generator first,
then this example. The generator PR targets a clean integration branch; promotion
to the legacy main branch is a separate decision. Neither PR is automatically merged.

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