From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Saïd Assemlal <said(dot)assemlal(at)gmail(dot)com> |
Cc: | rod(at)iol(dot)ie, "pgsql-general(at)postgresql(dot)org >> PG-General Mailing List" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Generic way to test input arguments |
Date: | 2016-10-18 15:47:15 |
Message-ID: | CAFj8pRDyxE2k86FwBH0xTiZBnrx0-tomXPRu_ebbzOus0bTJtg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
2016-10-18 16:42 GMT+02:00 Saïd Assemlal <said(dot)assemlal(at)gmail(dot)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.
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2016-10-18 16:09:35 | Re: Dump all the indexes/constraints/roles |
Previous Message | Andy Colson | 2016-10-18 15:06:51 | tablesample performance |