Re: [elephant-devel] Reason for

2011-10-02 Thread Alex Mizrahi
IE> I recall there being problems taking base class injection out of IE> shared-initialize - can initialize-instance manipulate the class IE> precedence list and direct superclasses at that point in the instance IE> initialization? I think it should work the same way -- INITIALIZE-INSTANCE :aroun

Re: [elephant-devel] Reason for

2011-09-29 Thread Alex Mizrahi
I also made a change for ccl so we don't inject the class if the dependencies argument was not provided (vs passing it along as a nil argument). I'll look at the alternate placement. AMOP spec says that users shouldn't add methods to SHARED-INITIALIZE of a metaclass. I think it can be moved

Re: [elephant-devel] Reason for

2011-09-27 Thread Alex Mizrahi
IE> Anyone remember why we put this into the elephant.asd file? IE> (defmethod operation-done-p ((o load-op) (c elephant-c-source)) nil) To make sure that library is loaded at least once? There is no way to check whether it is loaded via UFFI. And if you return T ASDF might skip loading altoge

Re: [elephant-devel] Multiple store controllers, with each its own set of classes

2011-09-26 Thread Alex Mizrahi
AB> After looking into this for way too long...It turns out I'm a complete AB> idiot : I forgot SBCL had been updated at the same time I changed my AB> code to split store controllers, and I was running into the MOP issue AB> of new SBCL versions. Hmm, what SBCL version is that? Can you please ch

[elephant-devel] status update

2011-09-14 Thread Alex Mizrahi
Recent patches: * set-valued slot tests, optimized postmodern support * test-slot-sets enabled in asd test-slot-sets thoroughly verifies current behaviour (rather weird) optimized postmodern support uses pm-pset for backend storage which keeps everything in one btree (database table) *

[elephant-devel] bugs in tests

2011-09-14 Thread Alex Mizrahi
It turns out that for compatibility with RT deftest we redefine 5am:finishes (not shadowing it) into something which is supposed to work with deftest -- it returns NIL if there was error and T otherwise. There are three problems with it: 1. if `finishes` is in a middle of deftest its output is

Re: [elephant-devel] set-valued slots review

2011-09-12 Thread Alex Mizrahi
> IV. Lacking features I think it would be great if we also add features for: 1. Initializing slot-set from list. Something like: (setf (numbers-of obj1) (make-slot-set :items '(1 2 3 4)) 2. Wipe contents of a slot-set. You can do it via slot-makunbound, sure, but it is kinda ugly. (setf (numb

[elephant-devel] set-valued slots review

2011-09-12 Thread Alex Mizrahi
I. RATIONALE There is a number of cases where one might want to store more than one value in a slot. An example from our testassociations: person can hold multiple jobs, job can have multiple holders. There is a number of ways how you can hold these multiple values in a single slot: 1. Lis

Re: [elephant-devel] CL implementation support

2011-09-12 Thread Alex Mizrahi
I worked on this project with Clojure, so they may be willing to help diagnose. I'll be looking into this later this month when I upgrade the running server and add some features to that old project I mentioned. -Ian That would be cool, as I'm not comfortable with diving too deep into CCL's CL

Re: [elephant-devel] CL implementation support

2011-09-09 Thread Alex Mizrahi
I use CCL for some production CL applications that use Elephant. Which version of CCL are you having problems with? I haven't upgraded in awhile - 1.2-1.4 were all good for me. The latest available, 1.7, 64-bit. 1.6 had same problems IIRC. I've localized a problem a bit: it is triggered by

Re: [elephant-devel] SBCL errors

2011-09-09 Thread Alex Mizrahi
Unexpected Error: #" {1002E81E41}> failed AVER: NSLOTDS I've found source of this error -- SBCL's internal %UPDATE-CLASS assumes that slot-allocation is either :instance or :class (and we have :database for persistent slots), so it breaks when you drop a virtual slot (i.e. redefine class with

[elephant-devel] CL implementation support

2011-09-09 Thread Alex Mizrahi
It looks like something weird happens with CCL's CLOS when we load Elephant. Given that we have openmcl-mop-patches.lisp, it might be that we break something with out patches. Or something... Is anybody interested in Elephant on CCL? Or other CL implementations? If not, it will be SBCL-only un

[elephant-devel] Are there any postmodern backend users here?

2011-09-06 Thread Alex Mizrahi
I would like to discuss handling of types, i.e. integer/string keys which support range queries (and work faster). There is a couple of options for handling type mismatches, I want to consider possible applications. ___ elephant-devel site list ele

[elephant-devel] status update on db-postmodern

2011-09-05 Thread Alex Mizrahi
I've fixed problem with db-postmodern, now it passes almost all tests on SBCL 1.0.16 (except NIL-SLOT-CLASS). The problem was that with-btree-cursor using WITHOUT-INTERRUPTS while making cursor to prevent potential resource leak, but POSTMODERN depends on interrupts for socket communications (

Re: [elephant-devel] SBCL errors

2011-08-23 Thread Alex Mizrahi
KR> Nikodemus, you can do the following to test the BDB backend, assuming KR> that you have the BDB libs installed and your my-config.sexp* setup: KR> (asdf:operate 'asdf:load-op :elephant) KR> (asdf:operate 'asdf:load-op :ele-bdb) KR> (asdf:operate 'asdf:load-op :elephant-tests) KR> (in-package

Re: [elephant-devel] patches

2011-08-21 Thread Alex Mizrahi
Current status: 1. SBCL 1.0.16: BDB -- all tests ok (on the first run) Postmodern -- about 350 tests pass, then it loses database connection in test-indices test and all subsequent tests fail. Also it says something about starting select when interrupts are off, maybe it is connec

[elephant-devel] patches

2011-08-19 Thread Alex Mizrahi
I've pushed both my patches and fix posted by Nikodemus. These ones fix general elephant functionality, so code review is welcome: * default-pset workaround * removed unnecessary MOP manipulations for SBCL (as reported by N. Siivola) * fix dropping instance with derived index * derived

Re: [elephant-devel] Fwd: Elephant patch for current SBCL

2011-06-20 Thread Alex Mizrahi
Anyway ,if you are the only one who reads this list and can push patches then no one will answer your question, because you are the only one qualified to answer it :) Not all questions require qualifications... It looks like we have enough people here who can participate in discussions, it is j

Re: [elephant-devel] Fwd: Elephant patch for current SBCL

2011-06-18 Thread Alex Mizrahi
This does not appear to have been pushed yet--are there any objections to the patch? It looks like nobody who can push patches reads this mailing list anymore. So, well, maybe I should take over maintainership after all? ___ elephant-devel site list

Re: [elephant-devel] finalize-inheritance

2011-05-13 Thread Alex Mizrahi
> What about an :after or :before method on update-instance-for-redefined-class? It is called once for each instance, but we want update once per class. But we can hook make-instances-obsolete GF which is called once for class. > But maybe your idea works. Hooking compute-slots definitely works

[elephant-devel] finalize-inheritance

2011-05-12 Thread Alex Mizrahi
I've found the problem: finalize-inheritance is not always called on class updates (even when compute-slots is called). Spec says that it is called at least once somewhere between class being defined and instantiation of its instances, and that's it. CCL calls it just once for class and never a

Re: [elephant-devel] How do I populate an index of a slot that wascreated later with values created before slot became indexed?

2011-05-09 Thread Alex Mizrahi
> I would recommend a complete code review of the schema implementation as a > good first step; > that's one area that often causes problems when making changes to different > slot types. Yep, I've just noticed this: I've started investigating why derived indices just stop working from time to

[elephant-devel] topo sort?

2011-05-09 Thread Alex Mizrahi
hi I was inspecting code of rebuild-slot-indices and it looks like it has a problem with inherited indices (although it is not easy to reproduce it). rebuild-slot-index drops index first. With inherited indices it tries to drop an index but fails (because it looks for index for this class rath

Re: [elephant-devel] using one store with mutiple lisp instances

2011-05-07 Thread Alex Mizrahi
> How can you guarantee that the postgres cache is coherent across machines? When something is updated invalidation notifications are recorded. Notifications are read and applied before each transaction. > Also, BDB does caching in shared memory regions across multiple processes, > so I'm not s

Re: [elephant-devel] using one store with mutiple lisp instances

2011-05-07 Thread Alex Mizrahi
> I am curious why the postgres backend is so unpopular. I would not recommend postgres backend as a default choice because it has its own "peculiarities". Particularly, it requires a discipline with use of types, as only strings and (64-bit) integers are properly sorted. Another major drawback

Re: [elephant-devel] How do I populate an index of a slot that wascreated later with values created before slot became indexed?

2011-05-01 Thread Alex Mizrahi
IE> Leslie and Alex are both capable of making changes and improvements and IE> I'm happy to give checkin privs if they're interested (I think Leslie IE> has them already). Yep, I'd like to get checkin privs too :) IE> Also, if someone wants to step up as maintainer I'm happy to step IE> d

Re: [elephant-devel] inherited indices

2011-05-01 Thread Alex Mizrahi
IE> One solution is to get rid of the :inherited option and simply allow a IE> :subclasses? option to get-instances-by-value/range that uses the mop IE> to find subclass indexes and does a merge sort of all objects returned IE> by the various indexes. This becomes time O(k log_b n) and gets ri

Re: [elephant-devel] inherited indices

2011-04-28 Thread Alex Mizrahi
> Why? I am by no means an expert and never looked thoroughly the code, > but ,abstractly speaking, doesnt it boil down to just creating > more indexes automatically at class definition time? Code assumes that there is only one index it needs to update at time, so it needs to be revised to handl

Re: [elephant-devel] How do I populate an index of a slot that was created later with values created before slot became indexed?

2011-04-28 Thread Alex Mizrahi
> After creating a lot of objects of a specific class I decided to change a > slot to be indexed. > It did change, no old items were included in the index. Isn't this a bug? > How can I populate the index with old values? (defmethod rebuild-slot-index ((sc store-controller) class-name index-nam

Re: [elephant-devel] inherited indices

2011-04-27 Thread Alex Mizrahi
> Currently, I do something along the lines of the following on the results > on get-instance[s]-by-XXX functions: > (remove-if #'(lambda (x) (not (member ',class-name (mapcar #'class-name > (sb-mop:class-precedence-list x) lst :key #'class-of) > if I want results on the whole inheritance cha

[elephant-devel] inherited indices

2011-04-26 Thread Alex Mizrahi
Index inheritance is a nice feature for the case when you have several sub-classes inheriting from a common base class and you want to lookup instances by a slot value regadless of the sub-class. E.g. if super-from and mega-frob inherit from frob base class you can look up any kind of frob by fr

[elephant-devel] derived indices

2011-04-26 Thread Alex Mizrahi
New derived index API is pretty nice, but it looks like implementation isn't quite mature. Particularly, I've encountered a problem with redefinition -- when derived index definition in class changes nothing changes. Besides that, there is no analog of rebuild-slot-indices/rebuild-slot-index f

Re: [elephant-devel] a bug when not use elephant:*store-controller* when close-store

2010-07-28 Thread Alex Mizrahi
LPP> the documentation for close-store says: LPP> If you pass a custom store controller, LPP> you are responsible for setting it to NIL. What is "it" in this context"? I think it is pretty hard to read this as "you are responsible for setting elephant:*current-controller* to NIL". LPP>

Re: [elephant-devel] Database evolution (i.e. schema migration)

2010-07-09 Thread Alex Mizrahi
RD> For example, when a new slot is introduced it is unbound in existing RD> instances. I will often set the slot value to nil in the migration RD> function. Other times I will need to query the web for the correct RD> value for existing objects' new slots. Here's how I do it (my-persistent-

Re: [elephant-devel] Persistent class slot

2010-06-17 Thread Alex Mizrahi
> The issue I have is: I am using Weblocks + Elephant + Postmodern to > display the instances of a class in > paginated web pages. Weblocks needs to know the total count of the > instances to plan the pagination (so it > can display something like "1 of > xxx pages" ). It turns out just counting

Re: [elephant-devel] bdb licensing text from section 9.4

2010-04-22 Thread Alex Mizrahi
??>> I think it is pretty clear -- if you do not give your application that ??>> is using BDB in source or binary form to third parties, you're ??>> ok. That is, using it for web site should be ok. q> This was precisely my understanding, but the text in the elephant q> documentation threw me

Re: [elephant-devel] bdb licensing text from section 9.4

2010-04-22 Thread Alex Mizrahi
q> This was rather disturbing (to me) so I read the license documentation q> from the oracle site and it is quite ambiguous about above stated q> point. I don't think it is ambigous. License only restricts _redistribution_ (if you redistribute, you must also release source code), but it doesn'

Re: [elephant-devel] Why does an empty BDB repository take 40 MB?

2010-04-22 Thread Alex Mizrahi
??>> SLSIA. I create a brand new BDB-backed elephant repository ??>> and it takes up 40MB of disk space. Why? LPP> Elephant creates some btrees as part of repository initialization. LPP> What you're seeing is probably a combination of BDB log files (try to LPP> invoke db_archive with the -

Re: [elephant-devel] Unique key with Elephant

2010-03-18 Thread Alex Mizrahi
IE> Should be easy to add an index lookup to shared-initialize and a check IE> in indexed slot access as to whether you are changing the unique value. Hmm, there is a problem with this and concurrency -- one thread does a check, it passes and it inserts a value, and another thread does the same

Re: [elephant-devel] get-instances-by-value andget-instances-by-class

2010-03-06 Thread Alex Mizrahi
hi > it seems that there is a problem with sbcl and linux 64-bit. > I noticed that this problems does not appear on my 32-bit systems only on the 64-bit systems. I've tested it on Debian 5.0 64-bit: SBCL 1.0.18, BDB 4.6, both stock from Debian packages. There is no leak neither for get-instan

Re: [elephant-devel] get-instances-by-value andget-instances-by-class

2010-03-05 Thread Alex Mizrahi
IE> As I recall, when allocating space in the heap for new objects, SBCL will periodically IE> ask the OS for more heap memory. Even if the objects are garbage collected later, IE> the allocated memory will remain (SBCL never releases heap memory back to the IE> OS even if it isn't using mo

Re: [elephant-devel] make-instance with :from-oid

2010-02-24 Thread Alex Mizrahi
LG> So when I use an oid that stores an object that is not of the given class, there is no error thrown or no warning. LG> Is there any possibility to be sure that the given oid stores an object of the given class? You shouldn't use make-instance with :from-oid initarg to recreate instances -

Re: [elephant-devel] sb-mop:finalize-inheritance

2010-02-07 Thread Alex Mizrahi
LG> Is it necessary to call sb-mop:finalize-inheritance explecitely? Elephant should call this function itself before trying to get class-slots. I guess it calls it too late or too early... LG> Maybe the class-hierarchy can help a little bit: Do you load your source files in this order? I'm

Re: [elephant-devel] gp-export strikes back

2010-02-05 Thread Alex Mizrahi
HH> I have an idea: we could have a second elephant database used only for HH> reference tracking. It does not have to have the same backend, HH> bdb will probably be the best choice at all time. This should be easy HH> to implement and avoid the problem completely? There is a catch -- s-seria

[elephant-devel] gp-export strikes back

2010-02-04 Thread Alex Mizrahi
hi Previous discussion of gp-export did not cover its design in details. I think if we're going to bundle gp-export with elephant, it is better to dicuss its features and shortcomings, so we can either try to fix them or document them. Basic idea how it works -- it goes through objects in dat

Re: [elephant-devel] initialize-instance :after

2010-01-20 Thread Alex Mizrahi
IE> We introduced recreate-instance in 1.0 which does not call your IE> initialize-instance when existing instances are pulled from the DB. IE> You are not the first to have this problem. ;) Under the new system, IE> you'll use initialize-instance which should have the expected behavior IE>

Re: [elephant-devel] indexing in elephant

2009-12-22 Thread Alex Mizrahi
> 2. What we have decided is to make separate persistent class for each > predicate. So, class is a predicate, right? >3. (defpclass dependson () > ((subject :accessor subject) > (predicate :accessor predicate) > (object :accessor object))) Why do you need a

[elephant-devel] gp-export

2009-04-24 Thread Alex Mizrahi
helo (Short introduction for those who does not know what is this about: gp-export is a tool to export/import databases in human-readable (SEXP) format, with serialization based on s-serialization of cl-prevalence, meant to work with different databases. In previous discussions it was considere

Re: [elephant-devel] MAP-CLASS should support small transactions

2009-02-27 Thread Alex Mizrahi
LPP> I've noticed that MAP-CLASS wraps the whole op in one large LPP> transaction. This is often neither necessary nor feasible. do cursors work accross transaction boundaries? i had an impression they do not. ___ elephant-devel site list elephant

Re: [elephant-devel] Serializer compatibility

2009-02-27 Thread Alex Mizrahi
??>> if you have a multi-core system and value stability over performance, ??>> i strongly recommend binding you lisp process to a single core (via ??>> taskset in Linux, for example). this way multithreading-related issues ??>> will have much less chances to happen. LPP> No choice in a web s

Re: [elephant-devel] Serializer compatibility

2009-02-24 Thread Alex Mizrahi
LPP> I spawned a thread that does some heavy slot access. So maybe LPP> the serializer isn't entirely multi-thread or multi-process safe LPP> yet? maybe. there were some issues with it (trivial ones), who knows, maybe we've overlooked something. if you have a multi-core system and value stabil

[elephant-devel] patches for 1.0

2009-02-06 Thread Alex Mizrahi
;; gmane was eating message with patch attached without forwarding it to mailing list, so ;; i'm now trying with email here's bunch of patches for 1.0: * postmodern documentation update i've updated documentation in postmodern-backend.texinfo. i'm not really good at texinfo, so it might be not

[elephant-devel] migration

2009-02-05 Thread Alex Mizrahi
hi i've promised to fix some bugs in db-postmodern and make it ready for 1.0 "soon", but unfortunately those issues were much more serious than i thought (i found some more bugs), and that required considerable changes. but finally it seems to be done, now i'm doing tests and making patches. m

Re: [elephant-devel] Lisp-only data store (prototype)

2009-02-05 Thread Alex Mizrahi
IE> How many people currently directly use the Btree/cursor interface? we use cursors to iterate through multiple sequences in order, e.g. we want, say 10 latest items that satisfy certain criteria, and candidates come from different indices. ___ e

Re: [elephant-devel] CLSQL Store

2009-01-27 Thread Alex Mizrahi
AP> I could redistribute that "core" as open source, and run AP> my "script" (i.e. my website) "on top of" that. If you're using it only in your website, I think you don't even need this open source mumbo-jumbo, as Oracle's license only restricts _redistribution_ but not use, and redistribution

Re: [elephant-devel] CLSQL Store

2009-01-16 Thread Alex Mizrahi
ap> I'm deeply interested in finding out where Oracle states those ap> "friendly terms" you are referring to. Can you post a pointer? I meant the next paragraph in the same document: Do I have to pay for a Berkeley DB license to use it in my Perl or Python scripts? No, you may use the Be

Re: [elephant-devel] Querying for objects on two slots

2009-01-14 Thread Alex Mizrahi
IE> Alex, what would the issues be for the postmodern backend? IE> Could we use a behind the scenes convert-to-string strategy so we had IE> a common API for indexing on tuples? doing it in "proper way" (sorting on multiple columns) will be quite hard in postmodern, as it means complicating c

Re: [elephant-devel] Querying for objects on two slots

2009-01-06 Thread Alex Mizrahi
YK> Is this a reasonable way of finding an object of type YK> 'my-class that matches on values val-a and val-b for slots a and b? yep, it is reasonable if you have relatively low number of objects in returned by (get-instances-by-value 'my-class 'slot-b val-b) query. if number of objects is signif

Re: [elephant-devel] postmodern btree problem

2009-01-05 Thread Alex Mizrahi
> In the BDB backend I > persist data for indexed-btrees so I make that a persistent-metaclass > and thus shared-initialize always gets called. pm-btree is a unique > case that wasn't handled. pm-indexed-btree is of persistent-metaclass, pm-btree is not, for bootstrapping reasons. > My soluti

Re: [elephant-devel] CLSQL Store

2009-01-03 Thread Alex Mizrahi
IE> Is anyone still using the CL-SQL store? the poll says no one, except one vote in "testing" section IE> release, although SQLite support is the only way to use Elephant with a IE> cheap, free, easy to install/ distribute backend. i think a backend using SQLite directly would make a lot of

Re: [elephant-devel] postmodern btree problem

2009-01-03 Thread Alex Mizrahi
HD> Which of stable/unstable do you recommend using? i think we'll eventually switch to "unstable", so if you're planning for the future, this would be a better option. also the more people use it, faster we will find all bugs in a new version. OTOH in a short term perspective "stable" is more te

Re: [elephant-devel] postmodern btree problem

2009-01-02 Thread Alex Mizrahi
Looks like that is not one of "usual suspects".. And it is more than weird -- key-type slot in pm-btree has initform, so it is unbound only when one explicitly makes it unbound, and I have no idea where that could be (in theory, we do not do that at all). To debug this you can add checks like (

Re: [elephant-devel] Choice of back-end store

2009-01-02 Thread Alex Mizrahi
> Could someone point me to any discussions WRT to choice of back-end? > I'm looking at BDB and Postmodern. What are advantages/disadvantages of > either one? think like BDB is a baseline implementation, and Postmodern is an option for special cases. Postmodern is designed to work absolutely t

Re: [elephant-devel] postmodern btree problem

2009-01-02 Thread Alex Mizrahi
HD> I am having trouble reducing the code to a sensible test case that HD> exhibits the same behaviour. Any suggestions on how I can track this HD> down? what kind of objects do you put in this btree? i think i've seen a problem with upgrading btree object type, it might be related. other qu

Re: [elephant-devel] Optimization

2008-12-27 Thread Alex Mizrahi
ES> Are cached slots usable yet (at least in a single-threaded situation)? When I use ":cached t" in my slot definitions, I get errors. i postmodern backend rather than doing caching on a slot level we're doing it on btree level. that is, get-value and (setf get-value) functions do lookups/writ

[elephant-devel] backend usage poll

2008-12-18 Thread Alex Mizrahi
hello i've got curious what elephant backends do people use, so i've made an online poll: http://www.misterpoll.com/polls/373489 it has some other interesting questions too. please vote if you're using elephant, or even if you're only evaluating it. thanks. ___

Re: [elephant-devel] Postmodern backend; are values ever removed from the blob table

2008-12-12 Thread Alex Mizrahi
RS> I have two other minor worries about this technique. First, it would RS> seem possible that if, say, we have slot1 in object1 which was set to RS> :some-opt at some time in the past, but is now totally unused by any RS> object, the blob row containing that would be considered dead; if RS>

Re: [elephant-devel] Postmodern backend; are values ever removed from the blob table

2008-12-11 Thread Alex Mizrahi
HH> I agree with Alex, just one perhaps obvious comment: I would have one HH> transaction around cleaning up one blob-id, not a big transaction HH> around cleaning up the whole blob table. If you do several HH> transactions it doesn't lock up much, so it HH> should be able to execute at the sa

Re: [elephant-devel] Postmodern backend; are values ever removed from the blob table

2008-12-11 Thread Alex Mizrahi
RS> then the slot definitions in the slot table are removed, but the RS> actual slot _values_, which live in the blob table, are retained. Is RS> this intended behaviour? yep, it is. it sort of sucks, i know. whether or not it becomes a problem depends on what kind of data you store in slots.

Re: [elephant-devel] Dropping DB connection during writes

2008-11-21 Thread Alex Mizrahi
IE> What interface do you use to deal with opening/closing separate IE> connections in your system? connection management is not a problem. problem is that close-store unconditionally makes controller totally unusable, and that might cause problem if there are some with-open-store commands goin

Re: [elephant-devel] Dropping DB connection during writes

2008-11-21 Thread Alex Mizrahi
IE> with-open-store closes the store when you're done, null'ing out *store- IE> controller*. With sufficient concurrency you are likely to get a race IE> condition where the if stmt in with-city-store succeeds but the body IE> fails since you aren't locking access to *store-controller*. well,

Re: [elephant-devel] Dropping DB connection during writes

2008-11-20 Thread Alex Mizrahi
TJG> With Elephant under both Postmodern and CLSQL, I'm consistently losing TJG> my DB connection. This apparently happens when writing from fairly TJG> simultaneous threads. (Two threads may write to the same btree key at TJG> around the same time.) weird. could be broken Lisp implementation,

Re: [elephant-devel] Postmodern performance question

2008-11-18 Thread Alex Mizrahi
RS> I'm wondering does anyone have any tips on setting up postgres as a RS> postmodern backend for Elephant. I suspect that my issues are just a RS> case of not really having enough memory for my data set, but if RS> there's anything obvious I should be doing, I might as well do that RS> first

Re: [elephant-devel] unique object IDs and OIDs

2008-11-14 Thread Alex Mizrahi
PE> I'm wondering if it is appropriate to use the OIDs that elephant PE> assigns objects for this purpose. yep, i think it's fine PE> Will these values change during the lifetime of the associated object? they shouldn't. oids are not preserved across export/import operations (by design of t

Re: [elephant-devel] BDB 4.7 backend tests fail on OS X SBCL 1.0.22

2008-11-11 Thread Alex Mizrahi
lR> I'm just finding time again to get back into elephant. So I downloaded lR> latest unstable darcs and when I run the tests, it aborts as shown lR> below. Any ideas? lR> There is no class named PERSON. tests are broken -- something about class definitions/redefinitions, not related to eleph

Re: [elephant-devel] Issues adding to root

2008-11-03 Thread Alex Mizrahi
as> I am using SBCL 1.0.21. but which version of elephant do you use? please try darcs version if you're not using it already ___ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel

Re: [elephant-devel] Ditching Darcs

2008-10-28 Thread Alex Mizrahi
RS> On this subject, is there a particular branch that I should be using RS> for postmodern? first of all, definitely a version from darcs rather than a 0.9.1 release. release version has lots of bugs. as for stable/unstable branches, there shouldn't be a big difference as most stuff is same an

Re: [elephant-devel] Ditching Darcs

2008-10-28 Thread Alex Mizrahi
??>> and taking into account other cursor operations, instead of 3 query ??>> templates we now have something like 12 different queries now, and ??>> i see any pattern how they can be merged :( ??>> or maybe it makes sense to ditch templated query generations and just ??>> write these conditio

Re: [elephant-devel] Ditching Darcs

2008-10-28 Thread Alex Mizrahi
LPP> I must've missed something or unintentionally used a db LPP> with older stuff already in it. yep, old format database could be the case if you've got it broken at start. but it seems our current tests are broken, so you get always get some error on the first run regardless of backend used.

Re: [elephant-devel] Ditching Darcs

2008-10-28 Thread Alex Mizrahi
IE> Historically we've had problems with tests being non-idempotent. I IE> usually wipe the dbs between runs to ensure that hidden interactions IE> don't break test assumptions. i have errors in a completely clean environment with a clean store: Did 455 checks. Pass: 449 (98%) Skip:

Re: [elephant-devel] Ditching Darcs

2008-10-28 Thread Alex Mizrahi
LPP> The only major problem with it is that the Postmodern backend LPP> hasn't kept up with the schema evolution changes. hm, what do you mean? i thought it works reasonably well, as there are just a handful of glitches to left resolve, but i won't call that "a major problem". or am i missing

Re: [elephant-devel] Elephant backend performance characteristics

2008-10-28 Thread Alex Mizrahi
LPP> BDB is the fastest backend currently available. Postmodern LPP> is about half as fast a little clarification -- it is not like there is a constant slowness factor. PostgreSQL storage itself is pretty fast , and probably in some aspects it is even better than BDB storage. but there is pret

Re: [elephant-devel] Ditching Darcs

2008-10-23 Thread Alex Mizrahi
LPP At least one revision from stable produces a non-trivial ??>>> merge in unstable. ??>>> ??>>> what does this mean? LPP> It means I have to manually wade through at least two conflicting LPP> revisions. and what? i had some really painful 3-way merges in git, does that mean th

Re: [elephant-devel] Backend and data retrieval questions

2008-10-22 Thread Alex Mizrahi
??>> First, since I need to use multiple web application machines, I'm using the Postmodern backend. I assume there's no sane way to share a BDB db between multiple machines? My BDB knowledge more or less caps out at using it as a key/value store from C years ago, I'm afra

Re: [elephant-devel] Ditching Darcs

2008-10-22 Thread Alex Mizrahi
LPP> At least one revision from stable produces a non-trivial merge in unstable. what does this mean? LPP> If no one objects I'd do it with Mercurial and then upload the resulting repository to Bitbucket. why do you think mercurial would be free of problems? why not g

Re: [elephant-devel] Backend and data retrieval questions

2008-10-21 Thread Alex Mizrahi
RS> First, since I need to use multiple web application machines, I'm RS> using the Postmodern backend. I assume there's no sane way to share a RS> BDB db between multiple machines? i think so too RS> Also, I want to do paginated data, so, for instance, I might, given an RS> object A with in

Re: [elephant-devel] get-instance-by-value where value is a list

2008-09-28 Thread Alex Mizrahi
FS> May be it is due to my configuration, which is ele 0.9 on FS> lispworks/win32 with postmodern. yep i think in 0.9 postmodern backend was quite botched. i recommend using version from darcs, considerable amount of issues were fixed since then. _

Re: [elephant-devel] get-instance-by-value where value is a list

2008-09-27 Thread Alex Mizrahi
IE> Currently none of the stores support comparing lists. em, we do not support get-instances-by-range queries, but get-instance-by-value should be fine, as long as serialized representation of list is same. ELE-TESTS> (open-store *testbdb-spec*) # ELE-TESTS> (defpclass rsdrp () ((islot :a

Re: [elephant-devel] Berkeley DB error: Cannot allocate memory.

2008-09-25 Thread Alex Mizrahi
M> that sounds like the key for this specific mismatch of the BDB locking M> philosophy – which for the scenarios you describe is perfect – and our M> quite different needs. there is other sort of locking philosophy in BDB too -- so-called "snapshot isolation" (also known as multi-version concu

Re: [elephant-devel] Class Heirarchies and Queries

2008-09-18 Thread Alex Mizrahi
??>> so do you people think that inheritance support on map level is a ??>> right thing? LPP> Yes, definitely. LPP> Got a code draft? yep, sort of.. but i think Ian's approach is "good enough" since rarely people need both superclass and subclass lookups to be fast enough. but i'll probably

Re: [elephant-devel] Elephant Dependency on Bordeaux Threads

2008-09-17 Thread Alex Mizrahi
> I don't think Elephant is inherently multi threaded, and Elephant/BDB Elephant/pgsql uses thread API to reap orphaned connections. > why not just move the dependency into the elephant-tests system definition? yep we could make it more fine-grained, i think, but what is a problem with bordea

Re: [elephant-devel] Class Heirarchies and Queries

2008-09-16 Thread Alex Mizrahi
??>> Section ??>> 2.10 of the manual mentions that you can "query a base class of type ??>> people to get subclass instances such as employee, manager, ??>> consultant, etc". ??>> I happen to need to do exactly that, but I can't actually find the ??>> appropriate section in the manual. LPP> I don

Re: [elephant-devel] Elephant on Windows/SBCL?

2008-09-13 Thread Alex Mizrahi
??>> My impression from the last time I tried it was that SBCL was ??>> insufficiently mature on Win32 to be a reasonable configuration to ??>> target. Has this changed? Is it getting more use? ES> I don't know exactly what qualifies as "more use", but I believe that ES> every SBCL release sinc

[elephant-devel] Re: NIL values in secondary indices

2008-08-11 Thread Alex Mizrahi
LPP> I can sort out the objects with NIL values later on the Lisp LPP> side -- that's acceptable. But those objects not showing up LPP> at all in the index is pretty bad indeed! if you don't need sorting you can just call get-instances-by-class and sort stuff manually. i've taken one more look

[elephant-devel] Re: NIL values in secondary indices

2008-08-11 Thread Alex Mizrahi
LPP> While we're at it, I remember running into a similar problem LPP> with float slots. yep, if it sees float it will upgrade column to "object" type and sorting will be lost LPP> Are there any hidden difficulties in implementing float sort LPP> support? i think there are no, we just didn't

[elephant-devel] Re: NIL values in secondary indices

2008-08-09 Thread Alex Mizrahi
??>> question is _why_ should you use GET-INSTANCES-BY-RANGE when ??>> you can do this via GET-INSTANCES-BY-VALUE? LPP> Because I need sorting... ideally the NIL values should just be LPP> clustered at the end or beginning of the sorted space. it seems you're using db-postmodern, i have bad news f

[elephant-devel] Re: NIL values in secondary indices

2008-08-09 Thread Alex Mizrahi
LPP> Is there any sense behind this result? Are NIL values somehow LPP> special to the secondary indexing mechanism? it is somehow special in map-index, and inherently in GET-INSTANCES-BY-RANGE -- if start is NIL it starts from beginning, it end is NIL it iterates to the end, so (NIL, NIL) ran

[elephant-devel] Re: Deferred indexing

2008-08-02 Thread Alex Mizrahi
??>> We could then do without proxy objects in Weblocks. LPP> This seems to work nicely, even with secondary indices. that looks like an ugly hack, though. what problem are you trying to solve? hide some instances from enumeration? why not just make slot called "visible" so you can just filter o

[elephant-devel] Re: Elephant uses; XML backup

2008-07-28 Thread Alex Mizrahi
??>> Or s-exp. Just something I can parse and manipulate with text- oriented tools. :) LPP> Good for you, 'cause gp-export already has a sexp exporter. There's no import, though. ??? it has import too, i'd say it would be nearly useless if it didn't have import.. however,

Re: [elephant-devel] Problems reloading Elephant system

2008-07-24 Thread Alex Mizrahi
LPP> Clues? just a guess -- after re-loading some stuff (such as defconstant and defparameter definitions) will be re-created and won't be EQL to previous versions, so comparisons might fail. ___ elephant-devel site list elephant-devel@common-lisp.

  1   2   3   >