Re: Generic way to test input arguments

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Generic way to test input arguments
Дата
Msg-id CAFj8pRDyxE2k86FwBH0xTiZBnrx0-tomXPRu_ebbzOus0bTJtg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Generic way to test input arguments  (Saïd Assemlal <said.assemlal@gmail.com>)
Список pgsql-general


2016-10-18 16:42 GMT+02:00 Saïd Assemlal <said.assemlal@gmail.com>:

I am writing database functions with plpgsql. (I am using Postgresql 9.4 with centos 6)

Here an example on what I would like to improve:

CREATE OR REPLACE FUNCTION usp_locking_trial(p_trial_code VARCHAR(50), p_trial_key VARCHAR(500))
RETURNS TEXT AS $$
DECLARE
BEGIN
    IF is_empty_or_null(p_trial_code) THEN
        RAISE EXCEPTION 'trial code argument is empty/null.';
    END IF;

    IF is_empty_or_null(p_trial_key) THEN
        RAISE EXCEPTION 'trial key argument is empty/null';
    END IF; ..................

END;
$$ LANGUAGE plpgsql;

I have many functions where I check if the arguments are null or empty. This code is repetitive and could be the almost the same between functions.

For a given example: a function who takes all input arguments and it checks one by one if it's null and raise an exception with the name of the argument.

Would it be a good idea ?

some smarter (generic) function can be written in C language (you should to use polymorphics type "any"). With plpgsql you cannot do enything else what you do.

Regards

Pavel
 

Thanks.

Le 2016-10-17 à 3:09 PM, Raymond O'Donnell a écrit :
On 17/10/16 16:40, said assemlal wrote:
Hello,

I am looking for a way to test generically input arguments to raise an
exception if one is either null or empty.

I was thinking to create a function who takes an array to check them but
not sure if it's really good.

It's not clear what you want to do here. Can you explain in more detail?

What do you mean by "input arguments"? Are you writing functions in the database? If so, which language? Some examples of what you've tried so far would help too.

Ray.




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

Предыдущее
От: Andy Colson
Дата:
Сообщение: tablesample performance
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: Dump all the indexes/constraints/roles