From madnificent at gmail.com Tue Apr 6 20:13:39 2010 From: madnificent at gmail.com (madnificent) Date: Tue, 6 Apr 2010 22:13:39 +0200 Subject: [bknr-devel] Splitting off bknr.datastore Message-ID: Hello, I was wondering if it would be possible to create a separate library from bknr.datastore. I don't use bknr, but have used the datastore in the past and I like the idea. The asdf-installable build linked on cliki.net seems to be outdated so that's probably not a good option. Kind regards, Aad Versteden From hans.huebner at gmail.com Tue Apr 6 21:12:54 2010 From: hans.huebner at gmail.com (=?ISO-8859-1?Q?Hans_H=FCbner?=) Date: Tue, 6 Apr 2010 23:12:54 +0200 Subject: [bknr-devel] Splitting off bknr.datastore In-Reply-To: References: Message-ID: Hi Aad, I think splitting the datastore and the web app stuff into two separate parts would be great. I'd also like to see the stuff be moved to github. My issue is that I don't currently have the time to do it myself. I would be glad to help with the split, review changes etc., but I can't currently spare the one day that would be needed to make the split perfect. -Hans On Tue, Apr 6, 2010 at 22:13, madnificent wrote: > Hello, > > > I was wondering if it would be possible to create a separate library > from bknr.datastore. ?I don't use bknr, but have used the datastore in > the past and I like the idea. ?The asdf-installable build linked on > cliki.net seems to be outdated so that's probably not a good option. > > > Kind regards, > > Aad Versteden > > _______________________________________________ > bknr-devel mailing list > bknr-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel > From madnificent at gmail.com Sun Apr 11 15:32:13 2010 From: madnificent at gmail.com (madnificent) Date: Sun, 11 Apr 2010 17:32:13 +0200 Subject: [bknr-devel] Splitting off bknr.datastore In-Reply-To: References: Message-ID: Hello, I'll try to split off the datastore in a github repository myself if/when I can find the time to do it. I haven't looked into the bknr source to see how much time it would take me. Cheers! On Apr 6, 2010 11:13 PM, "Hans H?bner" wrote: Hi Aad, I think splitting the datastore and the web app stuff into two separate parts would be great. I'd also like to see the stuff be moved to github. My issue is that I don't currently have the time to do it myself. I would be glad to help with the split, review changes etc., but I can't currently spare the one day that would be needed to make the split perfect. -Hans On Tue, Apr 6, 2010 at 22:13, madnificent wrote: > Hello, > > > I was wonde... > _______________________________________________ > bknr-devel mailing list > bknr-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans.huebner at gmail.com Mon Apr 12 09:31:55 2010 From: hans.huebner at gmail.com (=?ISO-8859-1?Q?Hans_H=FCbner?=) Date: Mon, 12 Apr 2010 11:31:55 +0200 Subject: [bknr-devel] Splitting off bknr.datastore In-Reply-To: References: Message-ID: Hi, there now is a github repository with the BKNR datastore. Future commits will end up there, but there are not immediate commits pending. Please fork, send patches, whatever. http://github.com/hanshuebner/bknr-datastore -Hans From madnificent at gmail.com Mon Apr 26 06:07:52 2010 From: madnificent at gmail.com (madnificent at gmail.com) Date: Mon, 26 Apr 2010 08:07:52 +0200 (CEST) Subject: [bknr-devel] Fwd: searching intervals, sorting and invalid-store-random-state signaled when opening a store In-Reply-To: Message-ID: Dear, First of all thank you for splitting off bknr-datastore. ?Whilst playing around with it, some questions arose. Searching Intervals: Is there some sort of index or a common idiom to search for all objects in which a specified property's value lies within a certain interval? ?For instance: listing/mapping over all widgets which have been created between monday and wednesday. ?Or all exams of a particular pupil which were scored between 35 and 56. ?Or should I create filters based on the index-mapvalues and index-values? ? Sorting: Does an index's index-reader (for instance a string-unique-index (but I'd like to know for others as well)) guarantee something with respect to the order in which the results are mapped/listed? ?If not: is there some idiom to receive a sorted list or should I create a custom index to limit the amount of sorting? Condition Signaled: Whenever I restart my lisp image in slime and open a previously used store, I receive an invalid-store-random-state in SBCL 1.0.37. ?Two meaningful restarts are given, being initialize-store-random-state and ignore-store-random-state. ?Is there something obvious I'm doing wrong or is this a bug of some sort? Thank you, mad -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 271 bytes Desc: OpenPGP digital signature URL: From hans.huebner at gmail.com Mon Apr 26 09:13:21 2010 From: hans.huebner at gmail.com (=?ISO-8859-1?Q?Hans_H=FCbner?=) Date: Mon, 26 Apr 2010 11:13:21 +0200 Subject: [bknr-devel] Fwd: searching intervals, sorting and invalid-store-random-state signaled when opening a store In-Reply-To: References: Message-ID: On Mon, Apr 26, 2010 at 08:07, wrote: > Searching Intervals: > Is there some sort of index or a common idiom to search for all objects in > which a specified property's value lies within a certain interval? ?For > instance: listing/mapping over all widgets which have been created between > monday and wednesday. ?Or all exams of a particular pupil which were scored > between 35 and 56. ?Or should I create filters based on the index-mapvalues > and index-values? There is the skip-list-index which has been designed to deal with ranges and sparse integer valued slots. The skip-list has a skip-list-range-cursor class that can be used to iterate over value ranges. It is not exposed by the store itself, though, so you'll need to get the index instance from the class that you want to query and then call the skip-list-range-index gf on that object. > Sorting: > Does an index's index-reader (for instance a string-unique-index (but I'd > like to know for others as well)) guarantee something with respect to the > order in which the results are mapped/listed? ?If not: is there some idiom > to receive a sorted list or should I create a custom index to limit the > amount of sorting? The order is determined by the underlying index, i.e. hash tables do not provide ordering, but array indices and skip lists do. > Condition Signaled: > Whenever I restart my lisp image in slime and open a previously used store, > I receive an invalid-store-random-state in SBCL 1.0.37. ?Two meaningful > restarts are given, being initialize-store-random-state and > ignore-store-random-state. ?Is there something obvious I'm doing wrong or is > this a bug of some sort? This is a bug, and I think I briefly saw it a few months ago but did not have the time to fix it. As far as I remember, SBCL's random state can no longer be serialized/deserialized with read/write (see data/txn.lisp). I'd welcome a patch. Thanks, Hans From hans.huebner at gmail.com Mon Apr 26 11:02:37 2010 From: hans.huebner at gmail.com (=?ISO-8859-1?Q?Hans_H=FCbner?=) Date: Mon, 26 Apr 2010 13:02:37 +0200 Subject: [bknr-devel] Fwd: searching intervals, sorting and invalid-store-random-state signaled when opening a store In-Reply-To: References: Message-ID: On Mon, Apr 26, 2010 at 11:13, Hans H?bner wrote: > On Mon, Apr 26, 2010 at 08:07, ? wrote: >> Condition Signaled: >> Whenever I restart my lisp image in slime and open a previously used store, >> I receive an invalid-store-random-state in SBCL 1.0.37. ?Two meaningful >> restarts are given, being initialize-store-random-state and >> ignore-store-random-state. ?Is there something obvious I'm doing wrong or is >> this a bug of some sort? > > This is a bug, and I think I briefly saw it a few months ago but did > not have the time to fix it. ?As far as I remember, SBCL's random > state can no longer be serialized/deserialized with read/write (see > data/txn.lisp). ?I'd welcome a patch. I think this is an SBCL bug: CL-USER> (with-standard-io-syntax (write-to-string *random-state*)) "#S(RANDOM-STATE :STATE #.(MAKE-ARRAY (627) :ELEMENT-TYPE (QUOTE (UNSIGNED-BYTE 32)) :INITIAL-CONTENTS (QUOTE (0 2567483615 624 5489 1301868182 2938499221 ... As you can see, the array dimensions are written without a quote, so they can't be read (and they can't be read with *READ-EVAL* set to NIL in any case, but I'd rather not get into discussing whether this is allowed as per the spec). Can you please file a bug with SBCL and get them to fix it our help you to find a workaround? The BKNR datastore supplies transaction code with a random state that is identical during initial execution and rollback so that transaction code yields the same result in both cases even if it makes use of the CL:RANDOM function. This is why the random state is serialized. Thanks, HAns