pgAdmin III: EDB procedures with non void return types not handled properly

From: Nikhil S <nixmisc(at)gmail(dot)com>
To: pgadmin-hackers(at)postgresql(dot)org
Subject: pgAdmin III: EDB procedures with non void return types not handled properly
Date: 2011-01-31 07:17:38
Message-ID: AANLkTimmGVBm6QQR4dDmzsabw71w2=k3YMtt3O3WaG57@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi,

With the latest refactorings in the EDBAS90 source base, procedures (CREATE
PROCEDURE objects) can have non void return types in some cases. For
example:

edb=# create or replace procedure set_Order (
v_index INOUT integer
) AS
counter integer;
BEGIN
counter := 0;
v_index := counter;
END;
CREATE PROCEDURE
edb=# select protype, prorettype from pg_proc where proname = 'set_order';
protype | prorettype
---------+------------
1 | 23

Here the prorettype is "int4" and protype is set to 1 to indicate that this
is a procedure.

The existing pgadmin source currently expects procedures to have "void"
return types only. Now that the "protype" column (which can differentiate
between functions and procedures) is available since 8.1, we can use it to
identify such objects without resorting to "void" type checks. Ofcourse we
need to retain existing checks for older versions.

PFA, patch which does the same.

Regards,
Nikhils

Attachment Content-Type Size
pgadmin3_procedures_with_nonvoid_returntypes.patch text/x-diff 2.2 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2011-01-31 13:02:46 Re: wxWidgets 2.9 build
Previous Message Nikhil S 2011-01-31 06:01:52 Re: pgAdmin III: Error on clicking "Display Objects" while doing a restore