Search Postgresql Archives

Re: Generic way to test input arguments

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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

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.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux