[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: svn commit: r949964 - /subversion/trunk/subversion/libsvn_wc/wc_db.c

From: Bert Huijben <bert_at_vmoo.com>
Date: Thu, 10 Jun 2010 23:22:15 +0200

STMT_INSERT_ACTUAL_NODE does an insert or replace, which might be invalid in
this case. (It's documentation says that it is only used from entries.c). I
think we should create a similar statement (maybe with the missing rows)
that is always safe to use

 

            Bert

 

From: hyrum_at_hyrumwright.org [mailto:hyrum_at_hyrumwright.org] On Behalf Of
Hyrum K. Wright
Sent: dinsdag 1 juni 2010 13:48
To: dev_at_subversion.apache.org
Cc: commits_at_subversion.apache.org
Subject: Re: svn commit: r949964 -
/subversion/trunk/subversion/libsvn_wc/wc_db.c

 

 

On Tue, Jun 1, 2010 at 4:33 AM, <philip_at_apache.org> wrote:

Author: philip
Date: Tue Jun 1 08:33:08 2010
New Revision: 949964

URL: http://svn.apache.org/viewvc?rev=949964
<http://svn.apache.org/viewvc?rev=949964&view=rev> &view=rev
Log:
* subversion/libsvn_wc/wc_db.c
 (temp_cross_db_copy): Bind all the parameters when copying the
  ACTUAL_NODE, use a blob for properties.

Modified:
   subversion/trunk/subversion/libsvn_wc/wc_db.c

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?r
ev=949964
<http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?
rev=949964&r1=949963&r2=949964&view=diff> &r1=949963&r2=949964&view=diff
============================================================================
==
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Tue Jun 1 08:33:08 2010
@@ -2267,14 +2267,16 @@ temp_cross_db_copy(svn_wc__db_t *db,
                                                             scratch_pool);
      const char *tree_conflict_data = svn_sqlite__column_text(stmt, 5,
 
scratch_pool);
- const char *properties = svn_sqlite__column_text(stmt, 6,
scratch_pool);
+ apr_size_t props_size;
+ const char *properties = svn_sqlite__column_blob(stmt, 6,
&props_size,
+ scratch_pool);

Should we be using svn_sqlite__column_properties() here (and extending
_bindf() so that it knows about properties)? I understand we're just doing
a straight copy, so we don't necessarily need to parse and unparse the
properties, but if this is the case, perhaps a comment in the code would be
useful.
 

      SVN_ERR(svn_sqlite__reset(stmt));
      SVN_ERR(svn_sqlite__get_statement(&stmt, dst_pdh->wcroot->sdb,
                                        STMT_INSERT_ACTUAL_NODE));
- SVN_ERR(svn_sqlite__bindf(stmt, "isss",
+ SVN_ERR(svn_sqlite__bindf(stmt, "issbsssss",
                                dst_pdh->wcroot->wc_id, dst_relpath,
                                svn_relpath_dirname(dst_relpath,
scratch_pool),
- properties,
+ properties, props_size,
                                conflict_old, conflict_new,
conflict_working,
                                changelist, tree_conflict_data));
      SVN_ERR(svn_sqlite__step(&have_row, stmt));

-Hyrum
Received on 2010-06-10 23:23:00 CEST

This is an archived mail posted to the Subversion Dev mailing list.