feat(pgls_query): add PLpgSQL protobuf parsing support#639
Draft
feat(pgls_query): add PLpgSQL protobuf parsing support#639
Conversation
0a9caa2 to
ea26c15
Compare
- Update libpg_query submodule to fork with PLpgSQL protobuf API - Replace JSON-based parse_plpgsql with protobuf-based implementation - Add PlpgsqlParseResult struct with typed access to parsed functions - Export PLpgSQL protobuf types (PLpgSqlFunction, PLpgSqlStmt, etc.) - Update bindgen allowlist for new FFI functions - Filter PLpgSQL and SummaryResult types from Node iteration macros - Add comprehensive tests verifying parsed structure (IF, WHILE, assignments)
ea26c15 to
65af30a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
parse_plpgsqlwith protobuf-based implementationPlpgsqlParseResultstruct with typed access to parsed PL/pgSQL functionsPLpgSqlFunction,PLpgSqlStmt, etc.)Upstream Dependency
This PR requires upstream changes to libpg_query that have not been merged yet.
The changes add
pg_query_parse_plpgsql_protobuf()API to libpg_query. Currently pointing to fork:feat/plpgsql-protobufOnce upstream accepts the changes, the submodule should be updated to point back to
pganalyze/libpg_query.Test plan