feat: add pretty fixtures for quoting and formatting behaviors #246
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.
feat: add pretty fixtures for quoting and formatting behaviors
Summary
Adds test fixtures to document deparser behavior for several SQL formatting scenarios observed in downstream repos:
Quoting fixtures (
quoting.sql):float,interval,boolean) that require quotingpg_catalog."substring"with quoted identifierFormatting fixtures (
formatting.sql):EXPLAINwith/withoutCOSTS OFFoptional keyword't'::booleancast vsTRUEliteral)IN,OUT,INOUT) with parenthesizationReview & Testing Checklist for Human
faker.float(unquoted input) deparsing tofaker."float"(quoted output) - this is the key transformation being documented't'::booleanbecomesCAST('t' AS boolean)rather thanTRUE- confirm this matches expected deparser behavior (differs from original diff which showedTRUE)SUBSTRING(value FROM 'pattern')SQL syntax was excluded because it cannot round-trip (different AST representation) - only the canonicalpg_catalog."substring"(value, 'pattern')form is testedTest plan:
Notes