Assertions in PL/PgSQL

Поиск
Список
Период
Сортировка
От Marko Tiikkaja
Тема Assertions in PL/PgSQL
Дата
Msg-id 5234AF3F.4000409@joh.to
обсуждение исходный текст
Ответы Re: Assertions in PL/PgSQL  (Marko Tiikkaja <marko@joh.to>)
Re: Assertions in PL/PgSQL  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: Assertions in PL/PgSQL  (Peter Eisentraut <peter_e@gmx.net>)
Re: Assertions in PL/PgSQL  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-hackers
Hi,

Attached is a patch for supporting assertions in PL/PgSQL.  These are
similar to the Assert() backend macro: they can be disabled during
compile time, but when enabled, abort execution if the passed expression
is not true.

A simple example:

CREATE FUNCTION delete_user(username text) RETURNS VOID AS $$
BEGIN
    DELETE FROM users WHERE users.username = delete_user.username;
    ASSERT FOUND;
END
$$ LANGUAGE plpgsql;

SELECT delete_user('mia');
ERROR:  Assertion on line 4 failed
CONTEXT:  PL/pgSQL function delete_user(text) line 4 at ASSERT


Again, I'll add this to the open commitfest, but feedback is greatly
appreciated.


Regards,
Marko Tiikkaja

Вложения

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

Предыдущее
От: Josh Berkus
Дата:
Сообщение: git apply vs patch -p1
Следующее
От: Marko Tiikkaja
Дата:
Сообщение: Re: Assertions in PL/PgSQL