ERROR: Conditional NOTIFY is not implemented

Started by Davi Lealabout 24 years ago2 messagesgeneral
Jump to latest
#1Davi Leal
davileal@terra.es

Why I get this ERROR?. Maybe I do not use the accurate syntax?.

postgresql 7.1.3
I use Debian GNU/Linux (woody) on Intel.

Regards,
Davi Leal

$ createdb test
CREATE DATABASE

$ psql test
test=# CREATE TABLE prod
test-# (
test(# id serial
test(# );
NOTICE: CREATE TABLE will create implicit sequence 'prod_id_seq' for SERIAL
column 'prod.id'
NOTICE: CREATE TABLE/UNIQUE will create implicit index 'prod_id_key' for
table
'prod'
CREATE
test=#
test=#
test=# CREATE RULE pr AS ON DELETE TO prod DO (NOTIFY TBL2);
CREATE
test=#
test=#
test=# INSERT INTO prod DEFAULT VALUES;
INSERT 19315 1
test=# INSERT INTO prod DEFAULT VALUES;
INSERT 19316 1
test=#
test=# SELECT * FROM prod;
id
----
1
2
(2 rows)

test=# DELETE FROM prod WHERE id=1;
ERROR: Conditional NOTIFY is not implemented
test=# \q
$

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Davi Leal (#1)
Re: ERROR: Conditional NOTIFY is not implemented

Davi Leal <davileal@terra.es> writes:

test=# DELETE FROM prod WHERE id=1;
ERROR: Conditional NOTIFY is not implemented

7.2 allows this, as did 7.0 and before.

Conditional NOTIFY still isn't implemented, but you'll get an
unconditional notify instead (ie, NOTIFY whether or not any rows match
the DELETE's WHERE condition). This was the unintentional behavior of
older releases. It was "fixed" in 7.1, but people complained; the
not-quite-correct behavior is more useful than no behavior at all.

regards, tom lane