Re: oid or schema name of current plpgsql function

Поиск
Список
Период
Сортировка
От mandjeli@mjesec.ffzg.hr (Matko Andjelinic)
Тема Re: oid or schema name of current plpgsql function
Дата
Msg-id 20050429100801.GA8942@mjesec.ffzg.hr
обсуждение исходный текст
Ответ на Re: oid or schema name of current plpgsql function  (Michael Fuhr <mike@fuhr.org>)
Список pgsql-general
On Thu, Apr 28, 2005 at 08:51:50PM -0600, Michael Fuhr wrote:
>
> I'm not aware of a way to get the current function's OID in PL/pgSQL,
> but you can do it in C.

Yeah, i know that...I was hoping it would be possible from pl/pgsql :-(

> Why do you need to know the function's schema?  What are you trying
> to do?

I'm designing a logging trigger procedure that logs changes from a table
in a source schema to a table with the same name in the logging schema.
It would be cool if the location of the trigger procedure would imply
the logging schema - the location of the log table.

for example:

    create schema myschema_history;

    create or replace function myschema_history.log() returns trigger as '
    begin
      --
      -- logging implementation here
      --
    end;
    'language 'plpgsql';

    create schema myschema;

    create table myschema.foo (
    --
    -- table definition here
    --
    );

    create trigger foo_history
        before insert or update or delete on myschema.foo
        for each row execute procedure myschema_history.changed();


I thought it would be really neat to imply the log schema location.
Since it's not possible to know function schema, i will probably use
trigger params:

    for each row execute proceudre myschema_history.log('myschema_history');

Or, I could hard code the name inside of every instance of log() procedure. :-/

--
matko

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

Предыдущее
От: Alvar Freude
Дата:
Сообщение: Re: GUITools update
Следующее
От: Joe Maldonado
Дата:
Сообщение: Re: info on strange error messages on postgresql