From: | "Zeugswetter Andreas SB SD" <ZeugswetterA(at)spardat(dot)at> |
---|---|
To: | "Martijn van Oosterhout" <kleptog(at)svana(dot)org> |
Cc: | <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Feature suggestions (long) |
Date: | 2003-05-19 11:59:52 |
Message-ID: | 46C15C39FEB2C44BA555E356FBCD6FA4961FB3@m0114.s-mxs.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> But the RULE system is not really suited to this. I havn't written it
all
> out but by my calculations the number of rules required is about
(N^2+N)/2
> where N is the number of partitions. That's one UPDATE rule for each
pair of
> tables plus a set of INSERT rules (DELETE requires nothing special).
And
> each of those rules will be used every single time that table is
queried
> (both inserts and updates). That's not terribly efficient.
> Mind you, maybe there's a better way of doing it. I havn't totally
gotten my
> head around rules. Maybe it indicates that improvements could be made
to the
> rule system.
What you need is one view that is a union all select selecting all your
partial
tables, all applications only accesses this one view.
You need 1 insert 2 update 1 delete rule for each table plus 3 remainder
rules
(=4*N + 3 rules) (the select rule is already done by create view),
plus one check constraint for each partial table.
You can restrict access to the partial tables with normal
grant/revoke's.
The appls only need grants on the view (which is updateable with above
rules).
Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | Martijn van Oosterhout | 2003-05-19 13:17:48 | Re: Feature suggestions (long) |
Previous Message | ohp | 2003-05-19 11:59:21 | Interessting problem |