Author: rhuijben
Date: Thu Sep  2 14:05:58 2010
New Revision: 991941

URL: http://svn.apache.org/viewvc?rev=991941&view=rev
Log:
Don't create ACTUAL_NODE records to only insert NULL values in three
wc_db calls.

* subversion/libsvn_wc/wc_db.c
  (set_props_txn): Don't create actual row to set changed properties to
    NULL.
  (svn_wc__db_temp_op_set_text_conflict_marker_files,
   svn_wc__db_temp_op_set_property_conflict_marker_file):
     Don't create ACTUAL row to clear conflict data.

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?rev=991941&r1=991940&r2=991941&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Sep  2 14:05:58 2010
@@ -3805,7 +3805,7 @@ set_props_txn(void *baton, svn_sqlite__d
   SVN_ERR(svn_sqlite__bind_properties(stmt, 3, spb->props, scratch_pool));
   SVN_ERR(svn_sqlite__update(&affected_rows, stmt));
 
-  if (affected_rows == 1)
+  if (affected_rows == 1 || !spb->props)
     return SVN_NO_ERROR; /* We are done */
 
   /* We have to insert a row in ACTUAL */
@@ -9570,6 +9570,12 @@ svn_wc__db_temp_op_set_text_conflict_mar
       SVN_ERR(svn_sqlite__get_statement(&stmt, pdh->wcroot->sdb,
                                         STMT_UPDATE_ACTUAL_TEXT_CONFLICTS));
     }
+  else if (old_basename == NULL
+           && new_basename == NULL
+           && wrk_basename == NULL)
+    {
+      return SVN_NO_ERROR; /* We don't have to add anything */
+    }
   else
     {
       SVN_ERR(svn_sqlite__get_statement(&stmt, pdh->wcroot->sdb,
@@ -9625,6 +9631,8 @@ svn_wc__db_temp_op_set_property_conflict
       SVN_ERR(svn_sqlite__get_statement(&stmt, pdh->wcroot->sdb,
                                         
STMT_UPDATE_ACTUAL_PROPERTY_CONFLICTS));
     }
+  else if (!prej_basename)
+    return SVN_NO_ERROR;
   else
     {
       SVN_ERR(svn_sqlite__get_statement(&stmt, pdh->wcroot->sdb,


Reply via email to