On 2016/09/26 18:06, Ashutosh Bapat wrote:
On Mon, Sep 26, 2016 at 1:05 PM, Etsuro Fujita
<fujita.ets...@lab.ntt.co.jp> wrote:

ISTM that the use of the same RTI for subqueries in multi-levels in a remote
SQL makes the SQL a bit difficult to read.  How about using the position of
the join rel in join_rel_list, (more precisely, the position plus
list_length(root->parse->rtable)), instead?

We switch to hash table to maintain the join RelOptInfos when the
number of joins grows larger, where the position won't make much
sense.

That's right, but we still store the joinrel into join_rel_list after creating that hash table. That hash table is just for fast lookup. See build_join_rel.

We might differentiate between a base relation alias and
subquery alias by using different prefixes like "r" and "s"  resp.

Hmm. My concern about that would the recursive use of "s" with the same RTI as subquery aliases for different level subqueries in a single remote SQL. For example, if those subqueries include a base rel with RTI=1, then "s1" would be used again and again within that SQL. That would be logically correct, but seems confusing to me.

Best regards,
Etsuro Fujita




--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to