<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
On Sun, 2007-05-27 at 16:23 -0400, Joubert Nel wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Hi -</FONT>

<FONT COLOR="#000000">I have a persistent class (i.e. :metaclass persistent-metaclass) defined</FONT>
<FONT COLOR="#000000">and am adding a whole bunch of objects that are instances of this class</FONT>
<FONT COLOR="#000000">to the root of my Elephant store.</FONT>

<FONT COLOR="#000000">In order to retrieve a list of them I do:</FONT>
<FONT COLOR="#000000">  (map-class fn 'my-class-name)</FONT>

<FONT COLOR="#000000">My question is:</FONT>
<FONT COLOR="#000000">Currently I'm using the OID of the object as its key when I</FONT>
<FONT COLOR="#000000">(add-to-root) because this is the only slot in my class that is</FONT>
<FONT COLOR="#000000">guaranteed to be unique. (from a use-case point of view I don't care</FONT>
<FONT COLOR="#000000">what the key is).</FONT>
</PRE>
</BLOCKQUOTE>
I'm afraid this may betray a lack of clarity in the documentation.  If you are using a persistent-metclass,<BR>
you probably DON'T want to call add-to-root on it.<BR>
<BR>
In general, if you are using Ian's persistent classes, there is no reason to explicitly call add-to-root----<BR>
I think you will find that "map-class" above let's you get to every class instance quite easily without<BR>
calling add-to-root.<BR>
<BR>
The act calling "make-instance" on such a class is sufficient to place the instance in the DB, I think.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>

<FONT COLOR="#000000">I'm doing this to avoid overhead in generating more esoteric unique keys</FONT>
<FONT COLOR="#000000">such as UUID's. </FONT>

<FONT COLOR="#000000">Are there any reasons why I should NOT use OID as the key? </FONT>

<FONT COLOR="#000000">Joubert</FONT>





<FONT COLOR="#000000">_______________________________________________</FONT>
<FONT COLOR="#000000">elephant-devel site list</FONT>
<FONT COLOR="#000000"><A HREF="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</A></FONT>
<FONT COLOR="#000000"><A HREF="http://common-lisp.net/mailman/listinfo/elephant-devel">http://common-lisp.net/mailman/listinfo/elephant-devel</A></FONT>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>