On Wed, Nov 5, 2014 at 8:24 AM, Atri Sharma <atri.jiit@gmail.com> wrote: > I am working on something that requires representing a SRF return column in > pg_proc and being able to retrieve it, retrieve the name of the column and > make a ColumnRef node from it. > > The catch here are aliases: > > SELECT generate_series(1,100) AS a ORDER BY a; > > I need to know that the return column of generate_series is being referred > as a in this query (hence tlist, sortClause will have 'c'). > > I discussed and think that a way can be to have position of column rather > than the actual name but that raises the question of the functionality > needed for back resolving position to name (to make a ColumnRef node) and > then infer that the column is being referred as an alias in this query.
It's not clear to me what you are trying to do, so I can't give you any advice.
Let me give an example:
Consider an user defined SRF (or an inbuilt one (generate_series)). I am working on a path keys tracking project (more details on it in a separate email). I am interested in one of the columns of the result of the SRF and want to store it in catalogs in a manner that allows me to refer it later when executing the SRF.
One way can be to store the raw column name. However, I am not sure how will that work around aliases without a considerable fiddling with Alias nodes in parsetime.
Can I store relattnos or something? I need to get the stored att in planner and build pathkeys from it.