> -----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

Reply via email to