I guess the point here is, generally speaking, what is a secure way to make two or more subsequent DAL operations are performed without race condition. Is a kind of lock needed? An example to describe the problem (but not solving it):
def index(): with a_lock_to_prevent_concurrent_requests: # but how? latest_data = db(...).select(...) new_data = do_something_with( latest_data ) db.mytable.insert( new_data ) See also: http://groups.google.com/group/web2py/browse_frm/thread/35be6bba0c02eab0# On May28, 5:25am, mdipierro <mdipie...@cs.depaul.edu> wrote: > What is wrong with the default id field that web2py creates for every > table? > > On May 27, 3:16 pm, matclab <mathieu.clab...@gmail.com> wrote: > > > > > Hello, > > I'm finding this message in a thread from February... > > > I thought that autoincremented field would guaranty unicity in the > > table. > > I'm afraid the provided solution would allow two record to have the > > same autonumber field (think about an access from two users at the > > same time). > > I guess the autoincrement should be done on the DAL or database side, > > inside a transaction.... > > > What do you think about it ? > > > On 19 jan, 21:38, Thadeus Burgess <thade...@thadeusb.com> wrote: > > > > max_id= db(db.table.autonumber>1).select(db.table.autonumber, # > > > select all records, and only pull the autonumber column > > > orderby=~db.table.autonumber, # > > > descending sort on the autonumber, (highest first) > > > limitby=(0,1) # limit the query and > > > only select the first record > > > ).first().autonumber # pull the first record > > > from the web2py rows object, and get its autonumber member > > > > db.table.autonumber.default = max_id + 1 # Set the table default as > > > the last autonumber and incremented by one. > > > db.table.autonumber.writable = False > > > > form = crud.create(db.table) > > > > -Thadeus > > > > On Tue, Jan 19, 2010 at 4:32 AM, ceriox <cer...@gmail.com> wrote: > > > > thanks for the reply but i'm not a good web2py programmer ... i > > > > writing my first real app > > > > you can write the code for my request? (i can't understand the post of > > > > your link) > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups "web2py-users" group. > > > > To post to this group, send email to web...@googlegroups.com. > > > > To unsubscribe from this group, send email to > > > > web2py+unsubscr...@googlegroups.com. > > > > For more options, visit this group > > > > athttp://groups.google.com/group/web2py?hl=en.