pgAdmin III: EDB procedures with non void return types not handled properly - Mailing list pgadmin-hackers

From Nikhil S
Subject pgAdmin III: EDB procedures with non void return types not handled properly
Date
Msg-id AANLkTimmGVBm6QQR4dDmzsabw71w2=k3YMtt3O3WaG57@mail.gmail.com
Whole thread Raw
Responses Re: pgAdmin III: EDB procedures with non void return types not handled properly  (Dave Page <dpage@pgadmin.org>)
List 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

pgadmin-hackers by date:

Previous
From: Nikhil S
Date:
Subject: Re: pgAdmin III: Error on clicking "Display Objects" while doing a restore
Next
From: Dave Page
Date:
Subject: Re: wxWidgets 2.9 build