Sql driver: implement the §8.1 catalog identifier-validation gate (FF-1) #496
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Sql driver's ISqlDialect/SqlServerDialect docs describe a design-§8.1 gate that validates an authored table/column against the live catalog before it is ever quoted into SQL text, rejecting unknown identifiers. That gate is NOT implemented and no task on feat/sql-poll-driver scheduled it; QuoteIdentifier (bracket-quoting, Cc+Cf rejection) is currently the sole defence. Risk is bounded — a hostile identifier is quoted into one nonexistent object, the query fails post-open, and the tag Bad-codes (BadCommunicationError) rather than executing anything — but the defence-in-depth and doc-honesty gap should be closed. Also fixed the docs on-branch to stop over-claiming. Reference: docs/plans/2026-07-15-sql-poll-driver-design.md §8.1.