It's meant for heterogeneous data sources and, as you put it,
scheme graph where you want to take out information you did not
initially design for. It is not unheard of to have a cycle in your
scheme graph, in which case Full disjunction is the only way to pull
out all the information with no subsumptions, duplications, loss of information,
dealing with nulls.
In addition, heterogeneous data source that are found abundantly on the web.
For example, xmls, etc... Once they are on your database, you have to do something
with them. Most commonly they don't play nice with an ideal design.
Not to mention, the classic outside entity that your organization now wants to interface without
redisigning the whole database.
Here is a simple use case:
http://www.technion.ac.il/~tzahi/soc.html
In the example you can see the level of information with FD and with natural outer joins.
P.s.: The proposal is to put this in the contrib. I already have a working and stable
prototype which if the project will be selected, i plan to enhance so it can be used
by anyone.
Regards,
tzahi.
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Tom Lane
> Sent: Saturday, May 06, 2006 12:26 AM
> To: Tzahi Fadida
> Cc: pgsql-general@postgresql.org
> Subject: Re: [GENERAL] Google Summer of Code: Full Disjunctions
>
> "Tzahi Fadida" <tzahi_ml@myrealbox.com> writes:
> > The output of the full disjunctions FD(A,B,C):
> > FD
> > X Y Z
> > a | b | c
> > a | b | d
>
> > This output cannot be generated using standard SQL statements.
>
> Does anybody care? Your example looks to me like nothing but a poorly
> designed schema. You should show a more compelling use-case
> if you want
> people to take an interest.
>
> regards, tom lane
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
>