Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6eff20f
fix: improve funcformat logic and remove unwanted pg_catalog prefixes
pyramation Jun 28, 2025
3ba09a8
fix: improve variadic parameter detection and add CI rule
pyramation Jun 28, 2025
c1503c4
fix: make variadic detection more conservative to fix arrays regression
pyramation Jun 28, 2025
87765cf
fix: improve 13-14 transformation with CreateTransformStmt objfuncarg…
pyramation Jun 28, 2025
32be80b
docs: add STATUS.md files tracking transformer progress and fix v14-t…
pyramation Jun 28, 2025
f2c7e5c
fix: systematic v15-to-v16 transformer node wrapping improvements
pyramation Jun 28, 2025
35d8727
fix: add comprehensive node wrapping for v15-to-v16 transformer core …
pyramation Jun 28, 2025
55e3a1b
fix: add node wrapping for A_Expr, BoolExpr, Alias, Boolean in v15-to…
pyramation Jun 28, 2025
c686223
fix: add node wrapping for A_ArrayExpr, A_Indices, A_Indirection, A_S…
pyramation Jun 28, 2025
62f077f
fix: improve v14-to-v15 transformer node wrapping by following v13-to…
pyramation Jun 28, 2025
320dec6
docs: update STATUS-14-15.md with final test results
pyramation Jun 28, 2025
2d73d62
notes
pyramation Jun 28, 2025
69520be
feat: implement JSON type transformation with VALUES context detection
pyramation Jun 28, 2025
9454b0d
fix: remove JSON-specific transformation logic from TypeName method
pyramation Jun 28, 2025
dfdc052
debug: add comprehensive debugging to visit and TypeName methods to t…
pyramation Jun 28, 2025
4ad9fbb
feat: implement TypeCast method to handle unwrapped TypeName data and…
pyramation Jun 28, 2025
7294a06
fix: exclude all TypeCast contexts from JSON pg_catalog prefix logic
pyramation Jun 28, 2025
d89a9bf
fix: remove all JSON pg_catalog prefix logic from TypeName method
pyramation Jun 28, 2025
179bd48
feat: add pg_catalog prefix removal logic to both TypeName and TypeCa…
pyramation Jun 28, 2025
e085684
refactor: simplify TypeName and TypeCast methods to match v13-to-v14 …
pyramation Jun 28, 2025
a4edd7e
feat: implement PG16->PG17 JSON type transformation with pg_catalog p…
pyramation Jun 28, 2025
9fb52f8
fix: add JSON pg_catalog prefix removal logic to TypeName method
pyramation Jun 28, 2025
b4d5297
fix: remove overly broad JSON pg_catalog prefix logic from TypeCast m…
pyramation Jun 28, 2025
5617796
fix: remove all JSON pg_catalog prefix logic from TypeName and TypeCa…
pyramation Jun 28, 2025
413a21a
docs: update STATUS-16-17.md with confirmed test results (255/258 pas…
pyramation Jun 28, 2025
1379eae
Merge branch 'pg13-pg14-base' into pg16-pg17-transformer
pyramation Jun 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 47 additions & 1 deletion packages/transform/STATUS-16-17.md
Original file line number Diff line number Diff line change
@@ -1 +1,47 @@
not started — see previous status docs for format style.
# PostgreSQL 16-to-17 AST Transformer Status

## Current Status: 98.8% Complete (255/258 tests passing)

### Test Results (Confirmed: June 28, 2025)
- **Total tests**: 258
- **Passing**: 255 (98.8%)
- **Failing**: 3 (1.2%)

### Progress Summary
- ✅ **Core transformer implementation**: Complete
- ✅ **Basic AST node transformations**: Complete
- ✅ **Domain creation contexts**: Fixed
- ✅ **SELECT statement contexts**: Fixed
- ⚠️ **Complex nested contexts**: 3 remaining failures

### Remaining Test Failures
1. **pretty-misc.test.ts**: JSON TypeCast prefix handling
- Issue: Transformer adding pg_catalog prefix when expected output has none
- Context: WITH clauses containing A_Expr with JSON TypeCasts
- Status: Logic needs to be reversed - remove prefixes instead of adding them

2. **misc-quotes_etc.test.ts**: String escaping issue
- Issue: \v character handling difference between PG16/PG17
- Expected: `\v` → Received: `v`
- Status: Likely parser-level difference, not transformer issue

3. **latest-postgres-create_am.test.ts**: CREATE ACCESS METHOD syntax
- Issue: `syntax error at or near "DEFAULT"`
- Status: PG16 parser limitation - syntax not supported in PG16

### Key Insights
- **JSON prefix logic**: Test failures show expected output does NOT want pg_catalog prefixes
- **String escaping**: PG16/PG17 parser difference in escape sequence handling
- **CREATE ACCESS METHOD**: PG16 parser doesn't support this PG17 syntax feature

### Technical Details
- **Branch**: pg16-pg17-transformer
- **PR**: #177 (https://github.com/launchql/pgsql-parser/pull/177)
- **Last test run**: June 28, 2025 20:47 UTC
- **Current approach**: Context-aware transformation based on parent node types

### Next Steps to Achieve 100%
1. **Remove JSON pg_catalog prefix logic entirely** from TypeCast method
2. **Investigate String method** for \v character handling
3. **Document CREATE ACCESS METHOD limitation** as expected PG16 parser constraint
4. **Final test run** to confirm 258/258 success rate
Loading
Loading