From my experience inheritance in the database is usually a bad idea
all together.
Fields like even if "user" and "password" fields
exist in more than one provider type
they shouldn't share a table as their indexes and type validation have no reason to
be
shared (even if they theoretically can)and it makes both suffer from forced
standardisation.
I don't know what a "provider" is in your world but in the classic sense you
should even
have all providers be part of the same object inheritance as you shouldn't have all
factories. A "Provider" is a function and not identity. In Java terms, and
interface and
not a base class.
----- Original Message -----
From: "Federico Simoncelli" <fsimonce(a)redhat.com>
To: "Eli Mesika" <emesika(a)redhat.com>
Cc: "engine-devel" <engine-devel(a)ovirt.org>
Sent: Tuesday, May 14, 2013 3:13:30 AM
Subject: Re: [Engine-devel] What type of DB inheritance to use?
----- Original Message -----
> From: "Eli Mesika" <emesika(a)redhat.com>
> To: "Liran Zelkha" <liran.zelkha(a)gmail.com>
> Cc: "engine-devel" <engine-devel(a)ovirt.org>
> Sent: Tuesday, May 14, 2013 3:21:11 AM
> Subject: Re: [Engine-devel] What type of DB inheritance to use?
>
>
>
> ----- Original Message -----
> > From: "Liran Zelkha" <liran.zelkha(a)gmail.com>
> > To: "Yair Zaslavsky" <yzaslavs(a)redhat.com>
> > Cc: "engine-devel" <engine-devel(a)ovirt.org>
> > Sent: Sunday, May 12, 2013 1:19:07 PM
> > Subject: Re: [Engine-devel] What type of DB inheritance to use?
> >
> > Hi
> >
> > From my experience, single table inheritance quickly grows into something
> > unmanagable, as more and more (child related) fields are added, each line
> > has a few relevant attributes, and a long list of NULL values.
> > I would go with option 3. With materialized views, the costs of joins can
> > be
> > eliminated.
>
> +1
I'd prefer option 3 too.
--
Federico
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel