Re: Traversing targetlist to find accessed columns - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Traversing targetlist to find accessed columns
Date
Msg-id 2242899.1670078015@sss.pgh.pa.us
Whole thread Raw
In response to Traversing targetlist to find accessed columns  (Amin <amin.fallahi@gmail.com>)
List pgsql-hackers
Amin <amin.fallahi@gmail.com> writes:
> Having a query, I am trying to find out all the columns that need to be
> accessed (their varattno and vartype). I have access to a targetlist
> representing a tree like this. So, I am looking for a function that
> recursively traverses the tree and gives me the VARs. So, for SELECT
> a,b,b+c from tab; I am interested in [a,b]. Is such a function currently
> implemented in postgresql? How can I use it?

pull_var_clause() might help you, or one of its siblings in
src/backend/optimizer/util/var.c, or you could use that as a
template to write your own --- it doesn't take much code if
you use expression_tree_walker to do the dirty work.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Avoid streaming the transaction which are skipped (in corner cases)
Next
From: Ilya Gladyshev
Date:
Subject: Re: CREATE INDEX CONCURRENTLY on partitioned index