Re: [BUGS] plpgsql - wrong using of PERFORM statement doesn't raise a error - Mailing list pgsql-bugs

From Pavel Stehule
Subject Re: [BUGS] plpgsql - wrong using of PERFORM statement doesn't raise a error
Date
Msg-id CAFj8pRAzYYB3z8AVCXrRBxTPsF9=CXUxdEkP=fzo3eBhHDrZUw@mail.gmail.com
Whole thread Raw
In response to [BUGS] plpgsql - wrong using of PERFORM statement doesn't raise a error  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-bugs


2016-12-23 10:14 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.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


Regards

It generate valid command

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

Hard to detect this issue.

Pavel
 

Pavel Stehule

pgsql-bugs by date:

Previous
From: Pavel Stehule
Date:
Subject: [BUGS] plpgsql - wrong using of PERFORM statement doesn't raise a error
Next
From: Steven Winfield
Date:
Subject: Re: [BUGS] BUG #14473: Parallel query aborts with too manyconnections