"Tao Ma" <feng_e...@163.com> writes: > This is a potential memory error in nodeSubplan.c or execGrouping.c > Using select '1'::TEXT IN ((SELECT '1'::NAME) UNION ALL SELECT '1'::NAME); > to reproduce this bug. > ... > To fix this problem, we can use another memory context to passin > BuildTupleHashTable() as the hashtable's tempcxt, or use other memory > context as hash table's tempcxt or other ways.
Yeah, I think you're right --- we can't get away with reusing the innerecontext's per-tuple context for the hashtable temp contexts. The best solution is probably to make an additional context that does nothing but act as the hashtable temp context. This bug's been there a long time :-(. Surprising that no one found it before. It would be mostly masked in a non-assert build, but not entirely, I think. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers