Sorry, google groups formatted that *really* poorly.

On Jul 8, 12:28 pm, Mike Lewis <mikelikes...@gmail.com> wrote:
> That's a fair point.
>
> I think one interface might be casting a FromClause into a WithClause
> similar to how one would alias something.
>
> With postgres it seams like when going from a WITH to WITH recursive
> is adding a UNION ALL and the recursive term. Throwing out an idea for
> an interface (for postgres at least):
>
> Say you want to make
>
> WITH RECURSIVE included_parts(sub_part, part, quantity) AS (
>     SELECT sub_part, part, quantity FROM parts WHERE part =
> 'our_product'
>   UNION ALL
>     SELECT p.sub_part, p.part, p.quantity
>     FROM included_parts pr, parts p
>     WHERE p.part = pr.sub_part
>   )
>
> First:
>
>     included_parts = with_([parts.c.subpart, parts.c.part,
> parts.c.quantity], whereclause=parts.c.part=='our_product') # could
> also cast a SelectClause (or maybe even selectable) to a with_ by
> using selectable.with_()
>
>     included_parts would compile to "WITH include_parts AS (SELECT
> sub_part, part, quantity FROM parts WHERE part = 'our_product')"
>
> then we do:
>
>     included_parts = base.recursive(
>         [included_parts.c.sub_part, included_parts.c.part,
> included_parts.c.quantity],
>         whereclause=included_parts.c.part==parts.c.part,
>         all=True)
>
> Which would compile to the desired with clause.
>
> then a select(included_parts.c.part) would give you:
>
> WITH RECURSIVE included_parts(sub_part, part, quantity) AS (
>     SELECT sub_part, part, quantity FROM parts WHERE part =
> 'our_product'
>   UNION ALL
>     SELECT p.sub_part, p.part, p.quantity
>     FROM included_parts pr, parts p
>     WHERE p.part = pr.sub_part
>   )
> SELECT included_parts.part,
>
> Where can I find information on the Oracle syntax and other ones you'd
> like to support?
>
> On Jul 8, 11:46 am, Michael Bayer <mike...@zzzcomputing.com> wrote:
>
>
>
> > I'd really be interested in defining a system that covers WITH / RECURSIVE 
> > entirely, and makes sense both with PG / SQL server as well as Oracle.    
> > The work here is figuring out what is common about those two approaches and 
> > what an API that is meaningful for both would look like.    Implementation 
> > and tests are just the grunt work here.  
>
> > On Jul 8, 2010, at 2:03 PM, Mike Lewis wrote:
>
> > > I'd be interested in prototyping a WithClause or something similar if
> > > you think it might be useful.
>
> > > I imagine it would have similar semantics to a FromClause but would be
> > > prepended to the query.  Currently, I'm not too interested in
> > > prototyping the RECURSIVE part and only care about Postgres.
>
> > > For me to implement this would it be possible to do this in a non-
> > > intrusive manner (outside of modifying core SA code?)  I'd guess it
> > > would have similar semantics to how select() will automatically
> > > include FromClauses that for columns that reference them.
>
> > > Also, it would probably chain the WITHs automatically too.
>
> > > Any thoughts?
>
> > > Thanks,
> > > Mike
>
> > > On Jul 6, 4:31 pm, Michael Bayer <mike...@zzzcomputing.com> wrote:
> > >> this is the current status of that:
>
> > >>http://groups.google.com/group/sqlalchemy/browse_thread/thread/c20a4f...
>
> > >> WITHand OVER seem to be the upcoming things we'll have to work on (PG, 
> > >> MSSQL, DB2 supportWITH).   Oracle makesWITHdifficult.    Its also 
> > >> getting to be time to do a DB2 dialect.
>
> > >> On Jul 6, 2010, at 7:07 PM, Mike Lewis wrote:
>
> > >>> Does SA support this syntax?
>
> > >>>http://www.postgresql.org/docs/9.0/static/queries-with.html
>
> > >>> Thanks,
> > >>> Mike
>
> > >>> --
> > >>> You received this message because you are subscribed to the Google 
> > >>> Groups "sqlalchemy" group.
> > >>> To post to this group, send email to sqlalch...@googlegroups.com.
> > >>> To unsubscribe from this group, send email to 
> > >>> sqlalchemy+unsubscr...@googlegroups.com.
> > >>> For more options, visit this group 
> > >>> athttp://groups.google.com/group/sqlalchemy?hl=en.
>
> > > --
> > > You received this message because you are subscribed to the Google Groups 
> > > "sqlalchemy" group.
> > > To post to this group, send email to sqlalch...@googlegroups.com.
> > > To unsubscribe from this group, send email to 
> > > sqlalchemy+unsubscr...@googlegroups.com.
> > > For more options, visit this group 
> > > athttp://groups.google.com/group/sqlalchemy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to