There is a big change in DAL.

a = DAL(uri)
b = DAL(uri)

now "a is b" because DAL is a singleton (almost). It is a thread local 
singleton as long a uri is specified.
What does this mean in practice?

It means that unless you have lazy virtual fields, Row and Rows objects can 
be serialized (pickled), properly cached, and stored in session.
For example:

    session.rows = session.rows or db(db.mytable).select()

and you can still do:

    session.rows.first().update_record(....)

has many practical implications in the way you program and there is even 
more we could do. In the future we may be able to serialize every DAL 
expression.

This is a big change in the source and the internal logic is complex. 
It may have some unforeseen side effects.
PLEASE TEST THAT TRUNK DOES NOT BREAK YOUR CODE before this makes it into 
stable.

massimo





-- 



Reply via email to