Обсуждение: Split query

Поиск
Список
Период
Сортировка

Split query

От
"Katsaros Kwn/nos"
Дата:
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

От
Tino Wildenhain
Дата:
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

От
"Katsaros Kwn/nos"
Дата:
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
>