[Zope-dev] Zope object oid's

Jonothan Farr jfarr@real.com
Thu, 11 May 2000 17:10:35 -0700


> I'm curious, does a transaction in the FileStorage contain all the oid's to
> be effected by that transaction?  Is it split-up (appended) by transaction
> or oid? Transaction, I believe.

FileStorage contains transaction records, which themselves contain data records.
The data records contain the oid's.

The basic procedure for a write goes something like this:

tpc_begin() :
    start the transaction by setting up the tempfile where data records are
written before the final commit

store() :
    called for each object to be stored, writes the data record for the object
to the temp file

tpc_finish() :
    commits the transaction by writing the transaction record header, the data
records from the temp file, then the transaction record footer

Then load() just retrieves the latest data record for the object, it doesn't
need to know about transactions.

Hope this helps,

--jfarr

"Perl is worse than Python because people wanted it worse."
Larry Wall, 14 Oct 1998