Skip to content

feat(QueryBuilder): validate duplicate select columns - #318

Merged
elpete merged 3 commits into
nextfrom
agent/issue-105-duplicate-select-validation
Aug 12, 2026
Merged

feat(QueryBuilder): validate duplicate select columns#318
elpete merged 3 commits into
nextfrom
agent/issue-105-duplicate-select-validation

Conversation

@elpete

@elpete elpete commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add opt-in validation for duplicate select output names
  • validate the final selection during SQL compilation so queries can be built and corrected out of order
  • detect qualified columns, explicit aliases, subselect aliases, and explicitly aliased typed columns case-insensitively
  • skip wildcards and expressions without explicit aliases whose output names cannot be determined safely
  • document enabling the validation in development and leaving it disabled in production

Why

CFML query results silently collapse duplicate output labels, which can discard selected values when rows are converted to structs. This validation catches statically identifiable collisions before execution and recommends aliases.

Validation

  • Added the failing tests first: 5 expected failures before implementation
  • Focused select suite: 24 passed
  • Full Lucee suite: 2,666 passed, 0 failed, 3 skipped
  • CFFormat check
  • git diff --check

Refs #105

@elpete
elpete marked this pull request as ready for review August 12, 2026 05:02
@elpete
elpete merged commit 5e1d396 into next Aug 12, 2026
18 checks passed
@elpete
elpete deleted the agent/issue-105-duplicate-select-validation branch August 12, 2026 05:02
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