Fritz Lehmann-Grube wrote:
>
> Can somebody tell what this errormessage means ?
> ERROR: fireRIRrules: failed to remove aggs from qual
>
> I don't know what "aggs" and "qual" is.
The rewrite rule system was not able to combine the given rule into your insert statement, because aggregate
clauses (count() here) in the qualification (WHERE ...) are in fact impossible.
Your best bet it to implement that with a trigger.
Jan
>
> What I did:
> arbeitsdb=# select id,type,subtype,name from documents;
> id | type | subtype | name
> ----+------+---------+---------------
> 1 | 1 | 5 | motiv_el_01
> 2 | 1 | 1 | def_el_01
> 3 | 2 | 10 | deduc_el_01
> 4 | 2 | 18 | example_el_01
> (4 rows)
>
> arbeitsdb=# insert into documents(type,subtype,name)
> arbeitsdb-# values (2,16,'foo');
> INSERT 55505 1
> arbeitsdb=# delete from documents where oid=55505;
> DELETE 1
> arbeitsdb=# CREATE RULE doc_contained AS ON INSERT TO documents WHERE
> arbeitsdb-# ((NEW.type = 1) AND (count( (SELECT element_id
> arbeitsdb(# FROM element_contained_in WHERE (element_id =
> currval('docs_seq')) )) = 0))
> arbeitsdb-# DO INSTEAD NOTHING;
> CREATE
> arbeitsdb=# insert into documents(type,subtype,name)
> arbeitsdb-# values (2,16,'foo');
> ERROR: fireRIRrules: failed to remove aggs from qual
>
> Thanks Fritz
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com