On Sun, Apr 26, 2026 at 8:10 AM Junwang Zhao <zhjwpku@gmail.com> wrote:
Hi SATYANARAYANA,
On Sun, Apr 26, 2026 at 3:53 AM SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com> wrote: > > Hi hackers, > > transformRangeGraphTable() calls transformExpr() and > assign_list_collations() for COLUMNS expressions but missed calling > resolveTargetListUnknowns(). As a result, literals such as 'val1' > in a COLUMNS clause retained type "unknown", causing failures with > ORDER BY, UNION, and output conversions. > > Fix by calling resolveTargetListUnknowns() on the columns target > list right after assign_list_collations(), similar to SELECT target lists in > transformSelectStmt(). > > Attached a patch to fix this, which also includes test cases to reproduce.
I can reproduce this and the patch fixes it.
One question: why is resolveTargetListUnknowns called after assign_list_collations?
I'm asking because in transformSelectStmt, resolveTargetListUnknowns is invoked before assign_query_collations. It might not matter, but keeping the order consistent would be good for readers.