Re: warning missing

Поиск
Список
Период
Сортировка
От Gaetano Mendola
Тема Re: warning missing
Дата
Msg-id 40D9D23F.3060907@bigfoot.com
обсуждение исходный текст
Ответ на Re: warning missing  ("Thomas Hallgren" <thhal@mailblocks.com>)
Ответы Re: warning missing  (Thomas Hallgren <thhal@mailblocks.com>)
Список pgsql-hackers
Thomas Hallgren wrote:

> 
> Speaking in generic OO terms, using inheritance, you cannot remove
> attributes that are present in the generalisation. If B inherits A, an
> instance of B is per definition also an instance of A. Thus, you must alwasy
> be able to cast a B into an A. In short, If you don't want the OID, you
> cannot inherit a something that has an OID.

This is not completely true:

struct B
{   void foo();
};


class D : public B
{   private:      void foo();
   public:      void bar();
};


as you can see a D "is a" B but the publich foo() doesn't
appartaint to D, at least an user of D could not use foo()


> Having said that, I think a warning is motivated. The warning should state
> that attributes (columns) present in the generalisation (the parent table)
> cannot be hidden.

Right.



Regards
Gaetano Mendola





В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Martini
Дата:
Сообщение: Re: BLOBs and a virtual file system
Следующее
От: Frank Wiles
Дата:
Сообщение: Re: BLOBs and a virtual file system