Minimizing the `revisions' table.
From: <cmpilato_at_collab.net>
Date: 2002-06-14 17:59:41 CEST
While talking about the whole "changed paths being stored as a
Currently, our revisions table stores:
- a "revision" header
Our transaction table stores two different types of records. An
- a "transaction" header
Committed trasactions have:
- a "committed" header
Committed transactions are basically just key maps from the
-- Here's what I'm proposing: REVISION: - a "revision" header - a transaction id (key into the `transactions' table) UNFINISHED TRANSACTION: - a "transaction" header - the root note revision id for the tree in that transaction - the root node revision id for the tree in the revision on which its based - a transaction property list - paths that were changed in this transaction - a list of copy ids for copies made during the transaction COMMITTED TRANSACTION: - a "committed" header - the root node revision id for the tree that was committed - a revision property list - paths that were changed in this revision - the revision that was created by committing the transaction -- Why? Well, at commit time, we currently copy all the txn properties into the new revision-to-be, and if we do the paths-changed stuff, we'll be copying those as well. It just makes more sense (and wastes fewer fields in the svn_fs__transaction_t structure) to keep this kind of information in the transactions table, and make Revisions have the really small key-map. Thots? I'm betting that Bill Tutt and Brane are +1, yes? --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org For additional commands, e-mail: dev-help@subversion.tigris.orgReceived on Fri Jun 14 18:02:04 2002 |
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.