Re: PL/pgSQL PERFORM with CTE

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: "David E(dot) Wheeler" <david(at)justatheory(dot)com>
Cc: Marko Tiikkaja <marko(at)joh(dot)to>, pgsql-hackers Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PL/pgSQL PERFORM with CTE
Date: 2013-08-20 13:38:17
Message-ID: CAFj8pRAzzNYxLE8hj3-UHzChu5CX_9fM_hdM=aObMDSs0N2Epw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2013/8/20 David E. Wheeler <david(at)justatheory(dot)com>

> On Aug 20, 2013, at 3:18 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
>
> > can you show some examples, please
>
> This is not dissimilar to what I am actually doing:
>
> CREATE TABLE foo (id SERIAL PRIMARY KEY, name TEXT);
>
> CREATE OR REPLACE FUNCTION shipit (
> VARIADIC things TEXT[]
> ) RETURNS BOOL LANGUAGE plpgsql AS $$
> BEGIN
> WITH inserted AS (
> INSERT INTO foo (name)
> SELECT * FROM unnest(things)
> RETURNING id
> )
> PERFORM pg_notify(
> 'inserted ids',
> ARRAY(SELECT * FROM inserted)::text
> );
> RETURN FOUND;
> END;
> $$;
>
> Only I am using a dummy row variable instead of PERFORM, of course.
>

pg_notify returns void, so there are no necessary casting to void

so enhanced check - so all returned columns are void should be enough

Regards

Pavel

>
> Best,
>
> David
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2013-08-20 13:42:16 Re: Fix Windows socket error checking for MinGW
Previous Message Boszormenyi Zoltan 2013-08-20 13:37:17 Re: GSOC13 proposal - extend RETURNING syntax