Split query

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Katsaros Kwn/nos

    #1

    Split query

    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
  • Tino Wildenhain

    #2
    Re: Split query

    Hi,

    On Tue, 2004-11-02 at 07:47, Katsaros Kwn/nos wrote:[color=blue]
    > 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?[/color]

    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


    ---------------------------(end of broadcast)---------------------------
    TIP 3: if posting/reading through Usenet, please send an appropriate
    subscribe-nomail command to majordomo@postg resql.org so that your
    message can get through to the mailing list cleanly

    Comment

    • Tino Wildenhain

      #3
      Re: Split query

      Hi,

      On Tue, 2004-11-02 at 07:47, Katsaros Kwn/nos wrote:[color=blue]
      > 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?[/color]

      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


      ---------------------------(end of broadcast)---------------------------
      TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to majordomo@postg resql.org so that your
      message can get through to the mailing list cleanly

      Comment

      • Katsaros Kwn/nos

        #4
        Re: Split query

        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:[color=blue]
        > Hi,
        >
        > On Tue, 2004-11-02 at 07:47, Katsaros Kwn/nos wrote:[color=green]
        > > 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?[/color]
        >
        > 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
        >[/color]


        ---------------------------(end of broadcast)---------------------------
        TIP 5: Have you checked our extensive FAQ?



        Comment

        • Katsaros Kwn/nos

          #5
          Re: Split query

          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:[color=blue]
          > Hi,
          >
          > On Tue, 2004-11-02 at 07:47, Katsaros Kwn/nos wrote:[color=green]
          > > 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?[/color]
          >
          > 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
          >[/color]


          ---------------------------(end of broadcast)---------------------------
          TIP 5: Have you checked our extensive FAQ?



          Comment

          Working...