Thread: Split query

Split query

From
"Katsaros Kwn/nos"
Date:
Hi!
 
I want to parse a query (SFW) and create new queries: one for each table referenced, if that possible.
I've written a function for this in the Query struct level after parse&rewrite (not very general ofcourse :-)) but I would like to know  whether there is any code written for this purpose at any level. Are there any algorithms for this?
Following, is there any code or at least some algorithm about merging the individual results returned from these queries?
 
Thanks in advance!
Ntinos Katsaros

Re: Split query

From
Tino Wildenhain
Date:
Hi,

On Tue, 2004-11-02 at 07:47, Katsaros Kwn/nos wrote:
> Hi!
>
> I want to parse a query (SFW) and create new queries: one for each
> table referenced, if that possible.
> I've written a function for this in the Query struct level after
> parse&rewrite (not very general ofcourse :-)) but I would like to
> know  whether there is any code written for this purpose at any level.
> Are there any algorithms for this?
> Following, is there any code or at least some algorithm about merging
> the individual results returned from these queries?

The latter is easy. Consider:

SELECT ... FROM
(SELECT ... first query here) AS table_a
JOIN
(SELECT ... second query here) AS table_b
USING (same_column);

(or ON table_a.column = table_b.column)

I dont think you should think about joining results
outside the database. You have Postgresql here, remember :-)

Regards
Tino


Re: Split query

From
"Katsaros Kwn/nos"
Date:
Well, the second question is trivial indeed :-) ,even though I had
pipelining in mind when writting it...
(which is not so query oriented but rather plan/executor oriented)
However, I'm more interested in the first question.

Thank you very much,
Ntinos


Tino Wildenhain wrote:
> Hi,
>
> On Tue, 2004-11-02 at 07:47, Katsaros Kwn/nos wrote:
> > Hi!
> >
> > I want to parse a query (SFW) and create new queries: one for each
> > table referenced, if that possible.
> > I've written a function for this in the Query struct level after
> > parse&rewrite (not very general ofcourse :-)) but I would like to
> > know  whether there is any code written for this purpose at any level.
> > Are there any algorithms for this?
> > Following, is there any code or at least some algorithm about merging
> > the individual results returned from these queries?
>
> The latter is easy. Consider:
>
> SELECT ... FROM
> (SELECT ... first query here) AS table_a
> JOIN
> (SELECT ... second query here) AS table_b
> USING (same_column);
>
> (or ON table_a.column = table_b.column)
>
> I dont think you should think about joining results
> outside the database. You have Postgresql here, remember :-)
>
> Regards
> Tino
>