Re: Re: [HACKERS] Postgresql OO Patch
От | Bruce Momjian |
---|---|
Тема | Re: Re: [HACKERS] Postgresql OO Patch |
Дата | |
Msg-id | 200005201224.IAA17561@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Postgresql OO Patch (Chris <chris@bitmead.com>) |
Список | pgsql-general |
> Tom Lane wrote: > > > It's kinda fuzzy, but in practice I'd say the readers of pgsql-hackers > > and maybe pgsql-general. > > One more time for the <general> mailing list... > > Hands up if you have objections to the patch I recently submitted for > postgresql. It fixes the long standing bit-rot / bug that DELETE and > UPDATE don't work on inheritance hierarchies, and it adds the ONLY > syntax as mentioned in SQL3 and as implemented by Informix. The downside > is it breaks compatibility with the old inheritance syntax. But there is > a backward compatibility mode. I.e. "SELECT * FROM foobar*" becomes > "SELECT * FROM foobar", and "SELECT * from foobar" becomes "SELECT * > FROM ONLY foobar". > > Benefits: > *) SQL3 says it. > *) Informix does it. > *) If you never used inheritance it doesn't affect you. > *) Performance is unaffected. > *) There is a backwards compatibility mode via SET. > *) My own experience says strongly that this will greatly reduce > programmer bugs because the default is much more common (laziness > usually leads us to discard the "*" to the detriment of future > inheritance data model changes.) > *) It is more OO since by default a <subclass> IS A <baseclass>. > > Disadvantage: > *) You need to make a one line change to any programs that use > inheritance to include the back-compatibility SET mode. Well, it seems many of us forgot the valid arguments for the change. Matching SQL3 and Informix's behavior is a good thing. Considering how broken our current inheritance implementation is, backward compatibility is not a must, and you have a SET option for that too. Great. -- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
В списке pgsql-general по дате отправления: