Thread: Re: [PORTS] Port Bug Report: After creating a rule it is not possible to read the rule by pg_dump or select * from pg_rules
Re: [PORTS] Port Bug Report: After creating a rule it is not possible to read the rule by pg_dump or select * from pg_rules
From
Keith Parks
Date:
Hi, I had a quick look at this and couldn't get the parser to take "current.oid". It would take "old.oid" but then pg_rules showed it as "current.oid" in it's source. Most strange!! Keith. Unprivileged user <nobody@hub.org> > > ============================================================================ > POSTGRESQL BUG REPORT TEMPLATE > ============================================================================ > > > Your name : Jochen Schroer > Your email address : schroer@hummel.k-town.de > > Category : runtime: back-end > Severity : serious > > Summary: After creating a rule it is not possible to read the rule by pg_dump or select * from pg_rules > > System Configuration > -------------------- > Operating System : Linux 2.2.6 ELF > > PostgreSQL version : 6.4.2 > > Compiler used : PostgreSQL 6.4.2 on i686-pc-linux-gnu, compiled by gcc egcs-2.91.66 > > Hardware: > --------- > AMD K6-2 350MHz, 128 MB Ram, 256 MB Swap, Linux SQL 2.2.6 #1 SMP Sun May 23 03:10:54 MEST 1999 i586 unknown > > Versions of other tools: > ------------------------ > unknown > > -------------------------------------------------------------------------- > > Problem Description: > -------------------- > After this I define a rule I cant read the ruledefinition > again. > The only result I get is that postgres eat all my memory. > (I have try it with up to 128 MB Ram and 768 MB Swap and I > have killed postmaster after he used more then 85% of this > memory) > > If I only make an simple rule it work, but if I add an > more complicate rule it crash again. > > The reason why I select the severity serious and not > critical is, that the rules work, my only problem is that > I cant read them but they work. > > > > > -------------------------------------------------------------------------- > > Test Case: > ---------- > I have make the following testdatabase: > > CREATE TABLE "test1" ( > "field1" int4, > "field2" text); > CREATE TABLE "test2" ( > "field1" int4, > "field2" text); > COPY "test1" FROM stdin; > \. > COPY "test2" FROM stdin; > \. > CREATE RULE rule1 AS ON UPDATE TO test1 DO INSERT INTO test2 SELECT * FROM > test1 WHERE oid=current.oid; > > After this I cant read the ruledefinition. > The only result I get is that postgres eat all my memory. > (I have try it with up to 128 MB Ram and 768 MB Swap and I > have killed postmaster after he used more then 85% of this > memory) > > If I only make an simple rule like > CREATE RULE rule1 AS ON UPDATE TO test1 DO INSTEAD NOTHING; > it work, but if I add an more complicate rule like above > it crash again. > > The reason why I select the severity serious and not > critical is, that the rules work, my only problem is that > I cant read them but they work. > > > -------------------------------------------------------------------------- > > Solution: > --------- > > > -------------------------------------------------------------------------- > >