On Jan 22, 10:20 pm, Kirill Simonov <x...@gamma.dn.ua> wrote: > On 01/22/2011 12:25 AM, rusi wrote: > > > On Jan 22, 2:45 am, "Clark C. Evans"<c...@clarkevans.com> wrote: > >> Kirill Simonov and myself would like to introduce HTSQL, a novel > >> approach to relational database access which is neither an ORM nor raw SQL. > > : > >> We're curious what you think. > > > Thanks -- looks interesting. > > > Given the claim htsql is higher level than sql I am interested in > > bill-of-materials type (recursive) queries. > > Currently HTSQL does not support recursive queries. That said, it's > certainly within the reach of HTSQL and I could sketch here how the > support may look like: > > We add an operator `closure()` that, given a self-referential link > `link`, produces a transitive closure `closure(link)` of the link. > > For example, take a table `program` with a link `program.part_of`. Then > `program.closure(part_of)` is a plural link mapping a program to its > super-programs, which you can use just like a regular plural link, for > instance, in aggregate expressions. > > To return, for each program, a list of its super-programs: > > /program{code, /closure(part_of){code}} > > To return all sub-programs of a specific program 'xxx': > > /program?exists(closure(part_of).code='xxx') > > Compare that with > > /program{code, part_of.code} > /program?part_of.code='xxx' > > I think it would be a modest improvement over a SQL alternative. > > I'm adding it to the roadmap right now, but don't hold your breath -- Q4 > this year or early next year is a realistic ETA. I expect the > implementation to be at least moderately painful and, obviously, it > could only work with those backends that support WITH RECURSIVE.
O well... I was hoping for some some quick-queries (one-liners?) to probe firefox's bookmarks (which are in sqlite) -- http://mail.python.org/mailman/listinfo/python-list