[Zope] Trying ZODB with a background in RDBMS

Thomas Bennett bennetttm at appstate.edu
Thu Aug 14 14:01:46 EDT 2008


This may help in addition to Jonathan's suggestion.

In PostgreSQL when you create a serial field for that 
purpose it actually creates an integer field with a modifier 
similar to this:
not null default nextval(('"dl_articlereq_id_seq"'::text)::regclass)

where dl_article is the table in which id is the integer field 
created.  Also created is a sequence with this format:

    sequence_name     | last_value | increment_by | max_value  | min_value | cache_value | log_cnt | is_cycled | is_called
--------------------------------+------------+------------------------+------------------+---------------+-------------------+-----------+---------------+-----------
 dl_articlereq_id_seq   |     288   |            1           | 2147483647 |         1      |           1       |       0    |      f         | t


so you can get the last record value from last_value field.  
I'm feel sure mySQL is similar.

Hope you can use this.


Thomas

On Thursday 14 August 2008 04:40, Phillip B Oldham wrote:
> Hi all. I'm playing with standalone ZODB at the moment trying to get a
> better understanding of its use in applications. I come from a
> PHP/MySQL background, and I'm taking my first steps with Python at the
> same time.
>
> One of the things I'm not understanding about ZODB is assigning
> incremental IDs to objects. For instance, if I were to be writing a
> support-ticket system I'd want to give each ticket a unique number,
> but one that's "human-useable" (otherwise you could just use a UUID -
> try giving one of those over the phone!).
>
> Also, how would one add a new item to the db in this way?
>
> For instance:
>
> class Ticket(Persistence):
>   def __init__(self):
>     self.id = '' # How do I add a new incremental ID here?
>
> # and later on in the app
>
> tkt = Ticket()
> dbroot[?????] = tkt
>
> How would one assign a unique ID to the root at that point?

-- 
====================================================================
Thomas McMillan Grant Bennett		Appalachian State University
Operations & Systems Analyst		P O Box 32026
University Library			Boone, North Carolina 28608
(828) 262 6587

"... using OpenOffice.org, and save them back to disk automatically,
in MS Word format.  They surf the Web, check e-mail, do instant 
messaging, view YouTube videos, visit their Facebook pages, learn 
touch-typing skills and lots more.  Our public library has been 
offering these Linux public stations for the past three years."
 - Phil Shapiro Linux Journal January 2008

Library Systems Help Desk: https://www.library.appstate.edu/help/
====================================================================


More information about the Zope mailing list