On Tue, Dec 27, 2016 at 3:59 AM, Amit Langote <langote_amit...@lab.ntt.co.jp> wrote: > Patches 0001 to 0006 unchanged.
Committed 0001 earlier, as mentioned in a separate email. Committed 0002 and part of 0003. But I'm skeptical that the as-patched-by-0003 logic in generate_partition_qual() makes sense. You do this: result = list_concat(generate_partition_qual(parent), copyObject(rel->rd_partcheck)); /* Mark Vars with correct attnos */ result = map_partition_varattnos(result, rel, parent); But that has the effect of applying map_partition_varattnos to everything in rel->rd_partcheck in addition to applying it to everything returned by generate_partition_qual() on the parent, which doesn't seem right. Also, don't we want to do map_partition_varattnos() just ONCE, rather than on every call to this function? I think maybe your concern is that the parent might be changed without a relcache flush on the child, but I don't quite see how that could happen. If the parent's tuple descriptor changes, surely the child's tuple descriptor would have to be altered at the same time... -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers