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

Поиск
Список
Период
Сортировка
От Nikhil S
Тема pgAdmin III: EDB procedures with non void return types not handled properly
Дата
Msg-id AANLkTimmGVBm6QQR4dDmzsabw71w2=k3YMtt3O3WaG57@mail.gmail.com
обсуждение исходный текст
Ответы Re: pgAdmin III: EDB procedures with non void return types not handled properly  (Dave Page <dpage@pgadmin.org>)
Список 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
Вложения

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Nikhil S
Дата:
Сообщение: Re: pgAdmin III: Error on clicking "Display Objects" while doing a restore
Следующее
От: Dave Page
Дата:
Сообщение: Re: wxWidgets 2.9 build