Re: BUG #18777: Error running unnest function in a two phase commit transaction

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: spsamaan(at)gmail(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18777: Error running unnest function in a two phase commit transaction
Date: 2025-01-16 19:25:58
Message-ID: 1850521.1737055558@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> I have a query " SELECT * FROM UNNEST(ARRAY[123456]) " running in a Groovy 4
> code. That code is running in a weblogic 14 server. The driver I'm using is
> postgresql-42.7.3.jar.
> When the weblogic datasource is configured as a Two-phase commit I got an
> error:
> Caused by: org.postgresql.util.PSQLException: ERROR: function
> unnest(unknown) is not unique

Presumably what is happening is that the query actually being sent
to the server is something like

SELECT * FROM UNNEST($1)

with no hint as to what the data type of $1 is, making it impossible
to infer the unnest's result type. I don't know whether the JDBC
driver or weblogic is more at fault, but this isn't a server-side bug.
Some level on the client side has to take responsibility for
specifying the data type of the parameter.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2025-01-16 20:00:01 BUG #18778: Query planning fails in ExecInitExprRec with unrecognized node type
Previous Message Tom Lane 2025-01-16 19:18:06 Re: BUG #18775: PQgetCopyData always has an out-of-memory error if the table field stores bytea ~700 MB