> -----Original Message----- > From: phi...@apache.org [mailto:phi...@apache.org] > Sent: woensdag 18 augustus 2010 12:17 > To: comm...@subversion.apache.org > Subject: svn commit: r986865 - /subversion/trunk/notes/wc-ng/node-data > > Author: philip > Date: Wed Aug 18 19:16:59 2010 > New Revision: 986865 > > URL: http://svn.apache.org/viewvc?rev=986865&view=rev > Log: > Some initial thoughts about NODE_DATA from the Sheffield meeting. > > * notes/wc-ng/node-data: New. > > Added: > subversion/trunk/notes/wc-ng/node-data (with props) > > Added: subversion/trunk/notes/wc-ng/node-data > URL: http://svn.apache.org/viewvc/subversion/trunk/notes/wc-ng/node- > data?rev=986865&view=auto > ========================================================== > ==================== > --- subversion/trunk/notes/wc-ng/node-data (added) > +++ subversion/trunk/notes/wc-ng/node-data Wed Aug 18 19:16:59 2010 > @@ -0,0 +1,255 @@ > +NODE_DATA Design (Sheffield 2010-08-18) > +======================================= > + > +Essentially it replaces BASE_NODE and WORKING_NODE by combining all > +the existing columns with a new op_depth column where op_depth == 0 is > +the old BASE_NODE and op_depth != 0 is the old WORKING_NODE.
I don't think it *replaces* BASE_NODE and WORKING_NODE. It will contain data for both, but it doesn't replace these tables. Maybe it can replace WORKING_NODE, but BASE_NODE has more information than the columns you list here. Thinks like the repos_relpath and copyfrom_* are only defined on BASE and/or an operation root. That is why they are still modeled to stay on BASE_NODE and WORKING_NODE. And last time I looked at the design, translated_size and last_mod_time (used for optimizing away comparisions from things like 'svn status') were still on BASE and WORKING as they are only relevant for nodes that are in the wc. > + > + Category Columns > + > + indexing: wc_id, local_relpath, parent_relpath, op_depth > + status: presence > + node-rev: repos_id, repos_relpath, revnum > + content: kind, properties, depth, target, checksum > + last-change: changed_rev, changed_date, changed_author > + wc-cache: translated_size, last_mod_time > + misc: dav_cache, file_external > + > +When op_depth == 0 the node-rev columns represent the checked-out > +repository node, otherwise they represent the copyfrom node. > + > +Presence has the same six values as BASE_NODE/WORKING_NODE: > normal, > +incomplete, absent, excluded, not-present, base-deleted. There are > +some presence/op_depth constraints, e.g. base-deleted is not valid for > +op_depth 0 and absent is not valid for op_depth != 0. > + <snip> Bert