Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_pcollrev.tcl part of check-in [79c227a9c0] - Bugfix. Handle free-floating branches (their root revision was removed as unnecessary). by aku on 2007-12-01 18:36:26. [view]

To:

File tools/cvs2fossil/lib/c2f_pcollrev.tcl part of check-in [74854a30b8] - Added ability to declare indices on tables in the persistent state. Used this to declare indices on critical columns. Slows down the transactions saving changesets, this however is made up when it comes to successor/predecessor retrieval of changesets. by aku on 2007-12-02 03:40:56. [view]

@@ -175,9 +175,11 @@
 	    lod  INTEGER            REFERENCES symbol,   -- Line of development (NULL => Trunk)
 	    sid  INTEGER  NOT NULL  REFERENCES symbol,   -- Symbol capturing the tag
 
 	    rev  INTEGER  NOT NULL  REFERENCES revision  -- The revision being tagged.
-	}
+	} { rev sid }
+	# Indices on: rev (revision successors)
+	#             sid (tag predecessors, branch successors/predecessors)
 
 	state writing branch {
 	    bid   INTEGER  NOT NULL  PRIMARY KEY AUTOINCREMENT,
 	    fid   INTEGER  NOT NULL  REFERENCES file,     -- File the item belongs to
@@ -194,9 +196,12 @@
             -- branch was sprouted from and it has commits. The branch
             -- will exist to be the LOD of its revisions, nothing to
             -- sprout from, the dead revision was removed, hence no
             -- root.
-	}
+	} { root first sid }
+	# Indices on: root  (revision successors)
+	#             first (revision predecessors)
+	#             sid   (tag predecessors, branch successors/predecessors)
 
 	# Project level ...
 	#	pLineOfDevelopment, pSymbol, pBranch, pTag, pTrunk
 	#