From: | Walter Cai <walter(at)cs(dot)washington(dot)edu> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Retrieving Alias Name |
Date: | 2019-02-26 21:48:32 |
Message-ID: | CAE-8Rkn3O4XCuFcjVJJbu3dto03f_3+tjkKvWvbnmaGwRUqVRw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
I'm currently using a (very rough) scheme to retrieve relation names from a
PlannerInfo, and a RelOptInfo struct:
PlannerInfo *root
RelOptInfo *inner_rel
//...
RangeTblEntry *rte;
int x = -1;
while ((x = bms_next_member(inner_rel->relids, x)) >= 0)
{
rte = root->simple_rte_array[x];
if (rte->rtekind == RTE_RELATION)
{
char *rel_name = get_rel_name(rte->relid);
// do stuff...
}
}
However, I now realize it would be better to access aliases as they appear
in the SQL query. For instance, if the query contains "... FROM rel_name AS
rel_alias ..." I would like to retrieve `rel_alias` instead of `rel_name`.
Is it possible to derive the alias in a similar way?
For context: this code is being inserted into
src/backend/optimizer/path/costsize.c and specifically in the
calc_joinrel_size_estimate method.
Thanks in advance,
Walter
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2019-02-26 22:10:07 | Re: ATTACH/DETACH PARTITION CONCURRENTLY |
Previous Message | Chapman Flack | 2019-02-26 21:29:12 | Re: Remove Deprecated Exclusive Backup Mode |