BUG #16557: getProcedureColumns() function returns columns, when there is no existing Stored Procedure in the DB - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #16557: getProcedureColumns() function returns columns, when there is no existing Stored Procedure in the DB
Date
Msg-id 16557-92b633963d43f893@postgresql.org
Whole thread Raw
Responses Re: BUG #16557: getProcedureColumns() function returns columns, when there is no existing Stored Procedure in the DB
List pgsql-bugs
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 by date:

Previous
From: Michael Paquier
Date:
Subject: Re: BUG #16476: pgp_sym_encrypt_bytea with compress-level=6 : Wrong key or corrupt data
Next
From: tutiluren@tutanota.com
Date:
Subject: Re: pg_dump seems to be broken in regards to the "--exclude-table-data" option on Windows.