Re: Implementing replace function

Поиск
Список
Период
Сортировка
От Alexander Farber
Тема Re: Implementing replace function
Дата
Msg-id AANLkTikt9NROCRxXRYhefbhXuStJpFNHXsXP+VcST45G@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Implementing replace function  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: Implementing replace function  (Rob Sargent <robjsargent@gmail.com>)
Re: Implementing replace function  (Raymond O'Donnell <rod@iol.ie>)
Список pgsql-general
I've created a function now (below) and can call it as well,
but how can I see it at the psql prompt? Is there a \d command
for that or should I dump the database to see my declarations?

And is my function atomic? I.e. can't it happen, that FOUND
is not true, but then another session calls a INSERT inbetween?

pref=>         create or replace function pref_update_users(_id varchar,
pref(>             _first_name varchar, _last_name varchar, _female boolean,
pref(>             _avatar varchar, _city varchar, _last_ip inet)
returns void as $BODY$
pref$>                 BEGIN
pref$>
pref$>                 update pref_users set
pref$>                     first_name = _first_name,
pref$>                     last_name = _last_name,
pref$>                     female = _female,
pref$>                     avatar = _avatar,
pref$>                     city = _city,
pref$>                     last_ip = _last_ip
pref$>                 where id = _id;
pref$>
pref$>                 IF NOT FOUND THEN
pref$>                         insert into pref_users(id, first_name,
pref$>                             last_name, female, avatar, city, last_ip)
pref$>                         values (_id, _first_name, _last_name,
pref$>                             _female, _avatar, _city, _last_ip);
pref$>                 END IF;
pref$>                 END;
pref$>         $BODY$ language plpgsql;
CREATE FUNCTION

Thanks and merry Halloween
Alex

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: NOT IN (NULL) ?
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: Implementing replace function