Re: plpgsql - wrong using of PERFORM statement doesn't raise a error

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: plpgsql - wrong using of PERFORM statement doesn't raise a error
Date: 2016-12-23 09:24:54
Message-ID: CAFj8pRAzYYB3z8AVCXrRBxTPsF9=CXUxdEkP=fzo3eBhHDrZUw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

2016-12-23 10:14 GMT+01:00 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:

> Hi
>
> Following command finishing without any error, but (as expected) do nothing
>
> postgres=# create table foo(a int);
> CREATE TABLE
> Time: 51,363 ms
> postgres=# DO $$
> postgres$# DECLARE t text;
> postgres$# BEGIN
> postgres$# t := 'INSERT INTO foo VALUES(10)';
> postgres$# PERFORM t;
> postgres$# END;
> postgres$# $$;
> DO
> Time: 4,375 ms
> postgres=# select * from foo;
> ┌───┐
> │ a │
> ╞═══╡
> └───┘
> (0 rows)
>
> Time: 1,367 ms
>
> Related to http://stackoverflow.com/questions/41294888/plpgsql-
> error-query-has-no-destination-for-result-data-on-a-parameter-declarati
>
> Regards
>

It generate valid command

SELECT t --> SELECT 'INSERT ...';

Hard to detect this issue.

Pavel

>
> Pavel Stehule
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Steven Winfield 2016-12-23 10:17:56 Re: BUG #14473: Parallel query aborts with too many connections
Previous Message Pavel Stehule 2016-12-23 09:14:57 plpgsql - wrong using of PERFORM statement doesn't raise a error