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,