Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(WIP) Add pg_query_parse_summary() and supporting code #274

Draft
wants to merge 37 commits into
base: 17-latest
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
dc01b31
Add first-pass at SummaryResult protobuf info.
duckinator Feb 27, 2025
5ce124b
Add signature for PgQuerySummaryParseResult + pg_query_parse_summary().
duckinator Feb 27, 2025
97a4495
Improve Protobuf definition for SummaryResult based on initial review.
duckinator Feb 28, 2025
dcf27fe
Regenerate protobuf/
duckinator Feb 28, 2025
ab960e3
Update scripts/generate_protobuf_and_funcs.rb based on review feedback.
duckinator Mar 3, 2025
9cf0260
Regenerate protobuf/pg_query.proto.
duckinator Mar 3, 2025
4970975
Regenerate protobuf/pg_query.pb-c.{c,h}
duckinator Mar 3, 2025
3d1bc88
Add "plumbing" for pg_query_parse_summary().
duckinator Mar 3, 2025
19d2e74
[parse summary] Add comments, re-order parameters, un-comment default…
duckinator Mar 4, 2025
d58ef6c
Add (WIP) pg_query_parse_summary tests.
duckinator Mar 4, 2025
5511b9c
Fix error handling in pg_query_parse_summary
duckinator Mar 4, 2025
f51373e
[parse_summary] implement basic code for tree walking
duckinator Mar 4, 2025
1108609
[parse_summary] disable second test, make first test more useful
duckinator Mar 10, 2025
85576ff
[parse_summary] handle more of tree walking
duckinator Mar 10, 2025
da983a6
[parse_summary_walk_impl] add most of SelectStmt branch; one part is …
duckinator Mar 10, 2025
ba8ee79
[parse_summary] track clause type information (select vs DDL)
duckinator Mar 10, 2025
aa01e52
[parse_summary] Beginning of work actually returning protobuf stuff.
duckinator Mar 13, 2025
160b0a0
Add pg_query_cte_names_include()
duckinator Mar 13, 2025
2e9fc93
use pfree() instead of free()
duckinator Mar 14, 2025
d75b350
[parse_summary] functions field should be repeated (equivalent to a V…
duckinator Mar 14, 2025
a28d085
[parse_summary] I *think* it's generating valid protobuf? I guess I n…
duckinator Mar 14, 2025
4f337f2
[parse_summary] improve comments
duckinator Mar 14, 2025
e007937
[summary] Use malloc()/free() instead of palloc()/pfree() for result.…
duckinator Mar 20, 2025
6b19850
[parse_summary] It can actually get through pg_query_parse_summary_to…
duckinator Mar 27, 2025
4a0397d
[parse_summary] Avoid referencing relname if it's NULL.
duckinator Mar 27, 2025
525fa4f
[parse_summary] Handle truncated_query being NULL.
duckinator Mar 27, 2025
7e73bf8
[parse_summary] Use temporary variables to improve readability.
duckinator Mar 27, 2025
38f4925
[parse_summary] Use List for most things in the Summary struct.
duckinator Mar 27, 2025
70af067
[parse_summary] Rename summary_result to sr so the code is less noisy.
duckinator Mar 27, 2025
95e94e6
[parse_summary] Add T_List.
duckinator Apr 8, 2025
83e224c
[parse_summary] Remove commented-out code.
duckinator Apr 8, 2025
d43e519
[parse_summary] Handle SETOP_UNION/SETOP_EXCEPT/SETOP_INTERSECT.
duckinator Apr 8, 2025
510a4b2
[parse_summary] Simplify code to avoid performing actions already don…
duckinator Apr 8, 2025
12e10ca
[parse_summary] Handle INSERT/UPDATE/DELETE statements.
duckinator Apr 8, 2025
b8d3b63
[parse_summary] Add add_from_clause_items()/add_rangevar_clause_item(…
duckinator Apr 8, 2025
6951609
[parse_summary] Update code to use add_from_clause_items()/add_rangev…
duckinator Apr 8, 2025
2373cfc
[parse_summary] handle AlterTable, Create, CreateTableAs, Truncate, V…
duckinator Apr 13, 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
Prev Previous commit
Next Next commit
use pfree() instead of free()
duckinator committed Apr 3, 2025
commit 2e9fc93bca968533c1f1500b2e146fab771216cf
2 changes: 1 addition & 1 deletion src/pg_query_parse_summary.c
Original file line number Diff line number Diff line change
@@ -272,7 +272,7 @@ PgQueryError* pg_query_parse_summary_walk(Summary* summary, Node* tree) {
ts->name = pg_query_range_var_to_name(rv);
ts->type = rvt->type;
ts->rangevar = rv;
free(rvt);
pfree(rvt);
printf("lc_node is a RangeVar (%s)\n", ts->name);
break;
}