From: | Josh Trutwin <josh(at)trutwins(dot)homeip(dot)net> |
---|---|
To: | |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Checking if Aggregate exists |
Date: | 2008-03-24 19:18:32 |
Message-ID: | 20080324141832.2ee690e0@sinkhole.intrcomm.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, 24 Mar 2008 14:02:02 -0500
Erik Jones <erik(at)myemma(dot)com> wrote:
>
> On Mar 24, 2008, at 1:09 PM, Martijn van Oosterhout wrote:
> > On Mon, Mar 24, 2008 at 12:47:43PM -0500, Josh Trutwin wrote:
> >> My code to check if an aggregate exists runs this query:
> >>
> >> SELECT * FROM pg_catalog.pg_aggretate WHERE aggfnoid =
> >> 'foo'::REGPROC;
> >
> > Seems to me you'd rather want the proisagg column in pg_proc and
> > forget
> > about pg_aggregate altogether...
>
> Also, the idiom for checking if something is present is normally:
>
> SELECT 1 FROM some_table WHERE ...;
>
> This way you aren't dealing with errors, if it doesn't exist the
> query simply doesn't return any results.
This one still does return an error though I think because of the
cast:
select 1 from pg_catalog.pg_aggregate where aggfnoid =
'foo'::regproc;
ERROR: function "foo" does not exist
Thanks,
Josh
From | Date | Subject | |
---|---|---|---|
Next Message | Erik Jones | 2008-03-24 19:28:58 | Re: Checking if Aggregate exists |
Previous Message | Alex Solovey | 2008-03-24 19:15:59 | Problem with update on partitioned table |