Re: BUG #16557: getProcedureColumns() function returns columns, when there is no existing Stored Procedure in the DB
От | Dave Cramer |
---|---|
Тема | Re: BUG #16557: getProcedureColumns() function returns columns, when there is no existing Stored Procedure in the DB |
Дата | |
Msg-id | CADK3HHLR9QeR+Ce25GO_1Z9a856dxJzEPGjhHuPxVcOZDPx+uw@mail.gmail.com обсуждение исходный текст |
Ответ на | BUG #16557: getProcedureColumns() function returns columns, when there is no existing Stored Procedure in the DB (PG Bug reporting form <noreply@postgresql.org>) |
Список | pgsql-bugs |
This has been fixed in
Please upgrade the driver
Dave Cramer
www.postgres.rocks
On Mon, 27 Jul 2020 at 13:47, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 16557
Logged by: Adarshdeep Cheema
Email address: adarshdeep.cheema@ibm.com
PostgreSQL version: 12.2
Operating system: Windows
Description:
Create any user defined function using Postgres 12.3 Server, we are using
postgresql-42.2.11 JDBC driver
DDLs:
CREATE FUNCTION findec(pdec numeric) RETURNS numeric
LANGUAGE plpgsql
AS $$
declare r decimal(7,2);
begin
r = PDEC;
return r;
end;
$$;
a) When we use the following Java code, then we get nothing as we do no have
any Stored Procedure defined, which is expected
resultSet= metadata.getProcedures(null , "public", null); ,
while (resultSet.next()){
System.out.print(resultSet.getString(1)+" ");
System.out.print(resultSet.getString(2)+" ");
System.out.print(resultSet.getString(3)+" ");
System.out.print(resultSet.getString(4)+" ");
System.out.print(resultSet.getString(5)+" ");
System.out.println(resultSet.getString(6)+" ");
}
b) Now change the JAVA code to the following and you will get two columns in
the resultSet, which is a bug as there is no StoredProcedure Defined in the
database
resultSet= metadata.getProcedureColumns(null , "public", "findec", null);
,
while (resultSet.next()){
System.out.print(resultSet.getString(1)+" ");
System.out.print(resultSet.getString(2)+" ");
System.out.print(resultSet.getString(3)+" ");
System.out.print(resultSet.getString(4)+" ");
System.out.print(resultSet.getString(5)+" ");
System.out.println(resultSet.getString(6)+" ");
}
OUTPUT:
null public findec returnValue 5 2
null public findec pdec 1 2
В списке pgsql-bugs по дате отправления: