Skip to content

Commit

Permalink
Add support for getting filter columns for a parsed query
Browse files Browse the repository at this point in the history
This works the same as the "#filter_columns" method in the pg_query Ruby
gem, and returns the table name (if present) and column name for every
column that's referenced in a JOIN or WHERE clause.

To support this functionality, the nodes() and nodes_mut() functions
gain a 4th value for each result item, indicating whether the current
node can be considered a filter column. This is intended to be used when
matching a ColumnRef node, to determine whether it is part of a WHERE/JOIN
clause, or part of something else (e.g. target list, or ORDER BY, etc).
  • Loading branch information
lfittl committed May 30, 2023
1 parent 0a89307 commit bb2570a
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 71 deletions.
Loading

0 comments on commit bb2570a

Please sign in to comment.