Thread: ERROR: Conditional NOTIFY is not implemented

ERROR: Conditional NOTIFY is not implemented

From
Davi Leal
Date:
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
$

Re: ERROR: Conditional NOTIFY is not implemented

From
Tom Lane
Date:
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