Re: [QUESTIONS] Re: [HACKERS] text should be a blob field - Mailing list pgsql-hackers

From Maurice Gittens
Subject Re: [QUESTIONS] Re: [HACKERS] text should be a blob field
Date
Msg-id 017801bd5034$cccc3b60$fcf3b2c2@caleb..gits.nl
Whole thread Raw
List pgsql-hackers
-----Original Message-----
From: Thomas G. Lockhart <lockhart@alumni.caltech.edu>
To: PostgreSQL-development <hackers@postgresql.org>
Cc: Maurice Gittens <mgittens@gits.nl>
Date: zondag 15 maart 1998 22:24
Subject: Re: [QUESTIONS] Re: [HACKERS] text should be a blob field


>> Since triggers are not inherited this doesn't seem appropiate to me
>> -:(. Won't user have to do some magic on inherited tables?
>>
>> I think many things will be fixed when triggers, indices etc. are
>> inherited properly by derived classes.
>
>This is an interesting point. We have perhaps been neglecting to discuss
>how inheritance should behave with new features. Certainly at least some
>things (like default values and constraints) do inherit as you would
>expect. It's not clear to me that inheriting indices is appropriate,
>since indices are basically just an artifact for performance
>improvement;
Yes I agree.
> the results of a query do not change with the presence of
>an index. Also, if a table is inherited, then the access pattern of the
>resulting table might be different, requiring a different index anyway.

In general OO terms code reuse (in our case trigger reuse? -:) ) is achieved
by inheriting as much as sanely possible.
Since (from an OO perspective) every instance of a derived class is also an
instance of it's base class(es), inheriting indices seems like a natural
thing
to me.

However it may be possible that an OO database makes different choices
than an OO programming language.

>
>I haven't worked with triggers; what is their current behavior with
>inheritance? Maurice implies that they are not inherited at all. If not,
>should they be?

Well if we want to support polymorphism the answer to this question is a
definite yes.

In general any operation defined on an instance of a base class should be
defined on an instance of a derived class. This is the main reason
we inherit in the first place. The user has the option of redefining
(specializing)
an operation for instances of derived classes if she/he so pleases.

I think proper support for this would be really cool.


With regards from Maurice.



pgsql-hackers by date:

Previous
From: "Thomas G. Lockhart"
Date:
Subject: Re: [QUESTIONS] Re: [HACKERS] text should be a blob field
Next
From: Brett McCormickS
Date:
Subject: datetime default 'now' broken?