Skip to content

Catch invalid ON CONFLICT DO UPDATE column references#4366

Merged
kyleconroy merged 7 commits intosqlc-dev:mainfrom
nikolayk812:4291-on-conflict
Apr 17, 2026
Merged

Catch invalid ON CONFLICT DO UPDATE column references#4366
kyleconroy merged 7 commits intosqlc-dev:mainfrom
nikolayk812:4291-on-conflict

Conversation

@nikolayk812
Copy link
Copy Markdown
Contributor

@nikolayk812 nikolayk812 commented Apr 1, 2026

  • Validate ON CONFLICT (col) conflict target columns exist
  • Validate DO UPDATE SET col = ... assignment target columns exist
  • Validate EXCLUDED.col references exist
  • Catch missing conflict target for DO UPDATE (requires ON CONFLICT (col) or ON CONSTRAINT name)

Fixes #4291

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Apr 1, 2026
@kyleconroy kyleconroy merged commit 7f6b186 into sqlc-dev:main Apr 17, 2026
12 of 13 checks passed
khepin added a commit to khepin/sqlc that referenced this pull request Apr 18, 2026
…te-order-by-args

* 'main' of https://github.com/sqlc-dev/sqlc:
  Map xid8 to pgtype.Uint64 for pgx/v5 (sqlc-dev#4387)
  Rename :one return variable when it conflicts with a parameter (sqlc-dev#4383)
  Coerce SQLite JSONB output regardless of type casing (sqlc-dev#4385)
  Dedupe sqlc.arg parameters wrapped in a type cast for MySQL (sqlc-dev#4384)
  Preserve MySQL optimizer hints in generated query text (sqlc-dev#4382)
  Skip CI/RTD builds when the change is irrelevant (sqlc-dev#4381)
  build(deps): bump the production-dependencies group across 1 directory with 11 updates (sqlc-dev#4380)
  build(deps): bump the production-dependencies group across 1 directory with 5 updates (sqlc-dev#4368)
  build(deps): bump pygments from 2.19.2 to 2.20.0 in /docs (sqlc-dev#4363)
  build(deps): bump requests from 2.32.5 to 2.33.0 in /docs (sqlc-dev#4357)
  Remove github.com/jackc/pgx/v4 dependency (sqlc-dev#4379)
  Upgrade Go toolchain to 1.26.2 (sqlc-dev#4378)
  build(deps): bump actions/upload-artifact from 6 to 7 (sqlc-dev#4320)
  docs: add sqlc-gen-sqlx to community language support (sqlc-dev#4371)
  build(deps): bump github.com/jackc/pgx/v5 from 5.8.0 to 5.9.0 (sqlc-dev#4377)
  Catch invalid ON CONFLICT DO UPDATE column references (sqlc-dev#4366)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Column names in ON CONFLICT DO UPDATE SET clause not validated

2 participants