GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — #3166 fix: allow sqlc.arg/@name to fill gaps in numbered placeholder sequences by nikolayk812 · Pull Request #4622 · sqlc-dev/sqlc

Conversation

@nikolayk812

@nikolayk812 nikolayk812 commented Sep 20, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Problem

Mixing sqlc.arg()/@name with explicit $N placeholders fails when the named construct occupies a lower-numbered position than the native placeholders:

-- fails with: could not determine data type of parameter $1
INSERT INTO users (a, b, c) VALUES (sqlc.arg(a), $2, $3);

The mirror case (named construct at the end) worked fine:
-- works
INSERT INTO users (a, b, c) VALUES ($1, $2, sqlc.arg(c));

This asymmetry was reported in #3166.

Root cause

validatePlaceholders ran before number() assigned numbers to sqlc.arg/@name/sqlc.slice occurrences. The gap check only considered native $N placeholders, so it saw {2, 3}, found a gap at 1, and fired the error — not knowing that sqlc.arg(a) was about to fill it.

#3166

e2e changes: sqlc.arg(named) now gets numbered before validation runs, so it fills $2 and the first real gap shifts from $2 to $3.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
nikolayk812 added 2 commits September 20, 2026 23:21
@nikolayk812
sqlc-dev#3166 fix preprocessor bug
610e192
@nikolayk812
sqlc-dev#3166 fix e2e tests
29872bc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@nikolayk812
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.