Add support for getting filter columns for a parsed query #21
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.
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).