Re: Generic way to test input arguments

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.
>
>
>
>

In response to

Browse pgsql-general by date

  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