Skip to content

Add PG 17 / 18 Support#52

Closed
Vonng wants to merge 1 commit into
adjust:masterfrom
Vonng:master
Closed

Add PG 17 / 18 Support#52
Vonng wants to merge 1 commit into
adjust:masterfrom
Vonng:master

Conversation

@Vonng

@Vonng Vonng commented Oct 27, 2025

Copy link
Copy Markdown
  • FDW Path API Evolution: Extended create_foreignscan_path wrapper to accommodate new parameters—fdw_restrictinfo (PG17) and disabled_nodes (PG18). Version-specific macro
    definitions pass appropriate defaults (NIL and 0 respectively) to satisfy the new signatures.
  • JSON Subsystem Refactoring: PG17 internalized JSON processing functions with modified signatures. Implemented compatibility wrappers for json_categorize_type (now
    requires boolean parameter) and datum_to_json (return type changed from void to Datum). Pre-17 versions retain original static implementations.
  • Lexer Initialization Contract Change: Adapted makeJsonLexContextCstringLen invocation to use stack-allocated JsonLexContext buffer for PG17+, replacing the previous
    heap-allocation model.
  • Tuplestore API Cleanup: Removed tuplestore_donestoring call for PG17+ where explicit finalization is no longer necessary.
  • Header Modularization: Added explicit includes for explain_state.h and explain_format.h in PG18, following the reorganization of explain infrastructure.
  • Type Qualifier Corrections: Updated save_json_start member to const char* matching PG17's stricter const-correctness requirements.

@rapimo

rapimo commented Oct 30, 2025

Copy link
Copy Markdown
Member

Hey @Vonng thanks for the changes, I put them into #51

@rapimo rapimo closed this Oct 30, 2025
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.

2 participants