Hi Ian,
Thanks. I just downloaded the latest darcs and will look at it. I've
been evaluating different querying to propose a syntax.
BTW, in the darcs I downloaded 10 minutes ago, I ran the tests and got:
Did 421 checks.
Pass: 420 (99%)
Skip: 0 ( 0%)
Fail: 1 ( 0%)
Failure Details:
--------------------------------
THREADED-IDX-ACCESS []:
Unexpected Error: #<SB-THREAD:JOIN-THREAD-ERROR {12B38DB1}>
Joining thread failed: thread #<THREAD {12B1FEA9}> has not returned
normally...
During the tests, I got a lot of errors on the threads about Null
controller.
Thanks,
Daniel
On Mar 11, 2008, at 12:05 PM, Ian Eslick wrote:
Daniel,
I just promoted a simple sketch of a query interpreter and syntax on
the unstable branch that handles queries like:
(query-select #'(lambda (person school) (format t "Person named: ~A
at ~A~%" (name person) (name school)))
'(select ((?p person) (?s school))
(where (and (> (age ?p) 10) (< (age ?p) 25))
(= ?s (school ?p))
(string> (name ?s) "Foo")))))
This calls the provided function for all pairs of people and schools
for ages between 10 and 25 where the school name is alphabetically
greater than "Foo"
If you load and evaluate src/elephant/query-example.lisp you can
play with this little hack.
There are absolutely no performance considerations. It essentially
does the search through lisp objects that Robert alluded to. It
maps all instances of person and uses constraints like (= ?s
(school ?p)) to create the connection between objects via slot
values. You have to make sure that it can figure out what ?s is
before you can use ?s in another expression, so it's pretty
restrictive.
Anyway, hopefully this will give you some ideas on how to get started!
Ian
On Mar 6, 2008, at 8:23 AM, [EMAIL PROTECTED] wrote:
On Mar 4, 2008, at 10:38 PM, Ian Eslick wrote:
= A little query interpreter (Waldo?, Daniel?)
Read sets of oids from indices, implement an efficient in-memory
sort&merge over oids, and deserialize after the query. I've
specified a bunch of this so could provide a set of pointers to
start. Looking at some other object query languages and proposing
a syntax would be a good place to start
Will definitely like to pick up on this again. Been doing some more
reading and think should have some time to invest on this.
- Daniel
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel