> -----Original Message-----
> From: Julian Foad [mailto:[email protected]]
> Sent: dinsdag 3 augustus 2010 15:19
> To: Erik Huelsmann
> Cc: dev
> Subject: Re: NODE_DATA (2nd iteration)
> > TABLE NODE_DATA (
> > wc_id INTEGER NOT NULL REFERENCES WCROOT (id),
> > local_relpath TEXT NOT NULL,
> > op_depth INTEGER NOT NULL,
> > presence TEXT NOT NULL,
> > kind TEXT NOT NULL,
> > checksum TEXT,
> > changed_rev INTEGER,
> > changed_date INTEGER, /* an APR date/time (usec since 1970) */
> > changed_author TEXT,
>
> The changed_* columns can only belong to a node-rev that exists in the
> repository. What node-rev do they belong to and why aren't they
> alongside the node-rev details?
>
> (The changed_* columns convey essentially a rev number and two of the
> rev-props associated with that revnum that can be used in keyword
> expansions. We should consider representing that information in a more
> general form, both to avoid tying the DB format to the choice of those
> two particular revprops, and to avoid the redundancy of storing these
> same data and author values N times.)
changed_rev is in many ways information that the other changed_* values exist
(compared to SVN_INVALID_REVNUM) and the value itself is being used to locate
copyfrom info in the update editor.
Changed_date is used to update the file-time if you use commit-times in your
subversion settings.
And changed-author and changed-rev are used in the svn status -v output. (Which
makes them +- performance critical).
(That's why all of these have their values mapped in svn_wc__db_read_info() and
svn_wc__db_base_get_info() and before that in svn_wc_entry_t)
On top of that the update_editor and the commit editor always handled these
properties specifically, so we should really keep these as fast as possible. (A
join on changed_rev would be an option, but almost certainly slower than the
current code...)
Do you expect the author or date to change on all files of a specific revision
if you propedit the revprops and then update one file?
Bert