Hi

Just created a rule and received "rule plan string too big". My rule is around
1000 characters long. I added a debug statement which printed the following from
backend/rewrite/rewriteDefine.c

 sizeof(FormData_pg_rewrite) = 60, strlen(actionbuf) = 6328, strlen(qualbuf) = 4279, MaxAttrSize = 8104

so my rule expands to 10667 characters.

Questions I have
1.  Is it feasable to increase MaxAttrSize without upsetting the applecart?

2.  Does this limitation not severely restrict setting up of rules? Ie. I
    want to log any update on any field made to a 16 attribute table.

    The rule is as follows

      create rule log_accounts as on update to accounts
      where new.domain != old.domain or
        new.RegistrationDate != old.RegistrationDate or
        new.RegistrationType != old.RegistrationType or
        new.Amount != old.Amount or
        new.BillingType != old.BillingType or
        new.ContactEmail != old.ContactEmail or
        new.PaperDate != old.PaperDate or
        new.PaymentDate != old.PaymentDate or
        new.InvoiceCount != old.InvoiceCount or
        new.InvoiceNo != old.InvoiceNo or
        new.ContractType != old.ContractType or
        new.Organisation != old.Organisation or
        new.Payed != old.Payed
      do insert into accounts_log values (
        getpgusername(),
       'now'::text,
       new.domain,
       new.RegistrationDate,
       new.RegistrationType,
       new.Amount,
       new.BillingType,
       new.ContactEmail,
       new.PaperDate,
       new.PaymentDate,
       new.InvoiceCount,
       new.InvoiceNo,
       new.ContractType,
       new.Organisation,
       new.Payed,
       new.PaperContract
     );

3.  Is there a better way to do this?

TIA
--------
Regards
Theo

Mon, 17 Jan 2000 16:28:43 +0200
Theo Kramer <theo@flame.co.za>
DefineQueryRewrite: rule plan string too big.
Theo Kramer wrote:
> Just created a rule and received "rule plan string too big". My rule is around
> 1000 characters long. I added a debug statement which printed the following from
> backend/rewrite/rewriteDefine.c

Oops forgot to mention: Postgres 6.5.2
--------
Regards
Theo

Mon, 17 Jan 2000 16:43:04 +0200
Theo Kramer <theo@flame.co.za>
Re: [HACKERS] DefineQueryRewrite: rule plan string too big.
I wrote:
> 
> Hi
> 
> Just created a rule and received "rule plan string too big". My rule is around
> 1000 characters long. I added a debug statement which printed the following from
> backend/rewrite/rewriteDefine.c
>  ...
> 3.  Is there a better way to do this?

Was being thick... I removed the 'where' clause and now it fits and works.
--------
Regards
Theo

Mon, 17 Jan 2000 17:03:30 +0200
Theo Kramer <theo@flame.co.za>
Re: [HACKERS] DefineQueryRewrite: rule plan string too big.