Thread

  1. DefineQueryRewrite: rule plan string too big.

    Theo Kramer <theo@flame.co.za> — 2000-01-17T14:28:43Z

    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
    
    
  2. Re: [HACKERS] DefineQueryRewrite: rule plan string too big.

    Theo Kramer <theo@flame.co.za> — 2000-01-17T14:43:04Z

    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
    
    
  3. Re: [HACKERS] DefineQueryRewrite: rule plan string too big.

    Theo Kramer <theo@flame.co.za> — 2000-01-17T15:03:30Z

    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