Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This way they won't conflict with other functions (e.g., delayed
database operations) that may have the same names.
|
|
|
|
On the first step an uninitialized object is inserted into the cache
as before (this is necessary to handle recursive loading). The second
step is to notify the session that the object has been initialized.
On this second step the session can perform change tracking preparations,
such as make a copy of the object or reset the modification flag.
New test: common/session/custom (implements a custom session that uses
copies to track changes).
|
|
New option, --session-type.
|
|
|
|
|
|
|
|
|
|
Too much effort to maintain.
|
|
New pragma id (object). New test: common/no-id.
|
|
Now objects are always loaded as non-const and the object cache in
session treats all objects as non-const.
|
|
|
|
|
|
|
|
If an object of a type needs to be loaded recursively, then it is addded to
the delayed loading list which is processed once the statements are unlocked.
|
|
Currently, session is just an object cache. The persist, update, and
erase database operations are overloaded to also work on object
pointers. All the database operations and the query facility now
support const objects.
New session-related exceptions: not_in_session, already_in_session,
const_object.
|