On Thu, 9 Jan 2025 at 20:38, Richard Guo <guofenglinux@gmail.com> wrote:
>
> On Thu, Jan 9, 2025 at 12:44 PM David Rowley <dgrowleyml@gmail.com> wrote:
> > Can't you just look up the setop's type from op->colTypes instead of
> > looking the type up via the sortop? i.e. the attached?
>
> Yeah, right. Using SetOperationStmt.colTypes is more convenient here.
I pushed a revised patch. I removed the check for the sortop. I first
also thought I'd overlooked that, but it turned out that's fine as it
was as standard_qp_callback() handles checking for un-sortable
SortGroupClauses.
Jason, you can expect a fix for this in 17.3. In the meantime, you
could add an explicit cast to numeric in the subquery, e.g:
SELECT c2 AS ca2, c2 AS ca3
FROM t0
UNION
SELECT DISTINCT ca8 AS ca5, ca7::numeric AS ca6
FROM (
SELECT c1 AS ca7, c2 AS ca8 FROM t0
) AS ta1 JOIN (
SELECT c1 AS ca10, c1 AS ca11
FROM t0
) AS ta2 ON TRUE;
Thanks for the report.
David