>-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On Behalf Of Josh Berkus >Sent: dinsdag 6 maart 2007 19:45 >To: pgsql-hackers@postgresql.org >Cc: Florian G. Pflug; Martijn van Oosterhout; Shane Ambler; >NikhilS; Peter Eisentraut >Subject: Re: [HACKERS] Auto creation of Partitions > >Florian, > >> This sounds like what is really needed is a way to lock a certain >> condition, namely the existance or non-existance of a record with >> certain values in certain fields. This would not only help >this case, >> it would also help RI triggers, because those wouldn't have >to acquire >> a share lock on the referenced rows anymore. > >That's called "predicate locking" and it's very, very hard to do.
That's definitely not needed. Rather something good such that we can finally enforce RI ourselves in the general case. This is currently not possible to do easily, except in C code. This means we need to look at all the rows that exists, but are normally be invisible to our view of the database. Still I'm not sure about all cases, as the MVCC model is quite tricky and I'm not sure whether my idea's about it are valid. The basic idea is that you need to guarentee the constraint for the 'single underlaying model' (with everything visible) and for your view (under your visibility rules). I believe, but are not certain, that under these conditions any (valid) snapshot will obey the desired constraints. - Joris Dobbelsteen ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly