Jonathan schrieb:

----- Original Message ----- From: "Yuri" <[EMAIL PROTECTED]>
To: <>
Sent: Thursday, February 08, 2007 9:09 AM
Subject: [Zope] emulate a sequence

I need a field in zope object which act as a sequence. I mean every time I create an object, the value is the previous sequence value of the last object created + 1.

also I need to browse the objects by sequence (from the object 1 to the last, by the sequence number)

I think I need a catalog FieldIndex to store the sequence for searches, a property in the object.

Can I use the catalog to retrieve the max value of the index, so when I create the object, I just add 1 and store it in the property?

You could use a catalog if you have other searching requirements, but the method objectIds() (see the zopebook for more info) will return a list of contained Ids, which you can then sort to get you what you need. Also, len(somefolder.objectIds()) will give you the next available id (assuming your object ids have some sequential numbering).

Which both would not exacly emulate a sequence. Sequences live outside
transaction borders so they are inremented every time under any circumstances.

All the above methods would fall flat on the tummy when you are hit with variuos rollback or retries while other transactions concurrently add objects.

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to