You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2009/12/22 21:45:46 UTC

svn commit: r893309 - in /subversion/trunk/subversion/libsvn_fs_base: bdb/node-origins-table.c bdb/node-origins-table.h dag.c

Author: julianfoad
Date: Tue Dec 22 20:45:45 2009
New Revision: 893309

URL: http://svn.apache.org/viewvc?rev=893309&view=rev
Log:
Revert the addition of svn_fs_bdb__change_node_origin() in r893267, and use
existing functions instead.

Suggested by: cmpilato

* subversion/libsvn_fs_base/bdb/node-origins-table.c,
  subversion/libsvn_fs_base/bdb/node-origins-table.h
  (svn_fs_bdb__change_node_origin): Remove.

* subversion/libsvn_fs_base/dag.c
  (node_origins_update): Use the existing "delete" and "add" functions
    instead of "change".

Modified:
    subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.c
    subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.h
    subversion/trunk/subversion/libsvn_fs_base/dag.c

Modified: subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.c?rev=893309&r1=893308&r2=893309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.c Tue Dec 22 20:45:45 2009
@@ -129,39 +129,6 @@
                                          &key, &value, 0));
 }
 
-svn_error_t *svn_fs_bdb__change_node_origin(svn_fs_t *fs,
-                                            const char *node_id,
-                                            const svn_fs_id_t *origin_id,
-                                            trail_t *trail,
-                                            apr_pool_t *pool)
-{
-  base_fs_data_t *bfd = fs->fsap_data;
-  DBT key, value;
-  int db_err;
-
-  /* Create a key from our NODE_ID. */
-  svn_fs_base__str_to_dbt(&key, node_id);
-
-  /* Check that we already have a mapping for NODE_ID. */
-  svn_fs_base__trail_debug(trail, "node-origins", "get");
-  db_err = bfd->node_origins->get(bfd->node_origins, trail->db_txn,
-                                  &key, svn_fs_base__result_dbt(&value), 0);
-  svn_fs_base__track_dbt(&value, pool);
-  if (db_err == DB_NOTFOUND)
-    {
-      return svn_error_createf
-        (SVN_ERR_FS_CORRUPT, NULL,
-         _("Node origin for '%s' not found"), node_id);
-    }
-
-  /* Create a value from our ORIGIN_ID, and add this record to the table. */
-  svn_fs_base__id_to_dbt(&value, origin_id, pool);
-  svn_fs_base__trail_debug(trail, "node-origins", "put");
-  return BDB_WRAP(fs, _("storing node-origins record"),
-                  bfd->node_origins->put(bfd->node_origins, trail->db_txn,
-                                         &key, &value, 0));
-}
-
 svn_error_t *svn_fs_bdb__delete_node_origin(svn_fs_t *fs,
                                             const char *node_id,
                                             trail_t *trail,

Modified: subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.h?rev=893309&r1=893308&r2=893309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.h (original)
+++ subversion/trunk/subversion/libsvn_fs_base/bdb/node-origins-table.h Tue Dec 22 20:45:45 2009
@@ -62,13 +62,6 @@
                                          trail_t *trail,
                                          apr_pool_t *pool);
 
-/* Like svn_fs_bdb__set_node_origin() but replaces an existing entry. */
-svn_error_t *svn_fs_bdb__change_node_origin(svn_fs_t *fs,
-                                            const char *node_id,
-                                            const svn_fs_id_t *origin_id,
-                                            trail_t *trail,
-                                            apr_pool_t *pool);
-
 /* Delete from the `node-origins' table the record for NODE_ID in FS.
    Do this as part of TRAIL.  Use POOL for temporary allocations.  */
 svn_error_t *svn_fs_bdb__delete_node_origin(svn_fs_t *fs,

Modified: subversion/trunk/subversion/libsvn_fs_base/dag.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/dag.c?rev=893309&r1=893308&r2=893309&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/dag.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/dag.c Tue Dec 22 20:45:45 2009
@@ -1670,9 +1670,10 @@
               origin_id = svn_fs_base__id_create(node_id, id_copy_id,
                                                  new_txn_id, scratch_pool);
               /* Save the new node-origin */
-              SVN_ERR(svn_fs_bdb__change_node_origin(trail->fs, node_id,
-                                                     origin_id, trail,
-                                                     scratch_pool));
+              SVN_ERR(svn_fs_bdb__delete_node_origin(trail->fs, node_id, trail, scratch_pool));
+              SVN_ERR(svn_fs_bdb__set_node_origin(trail->fs, node_id,
+                                                  origin_id, trail,
+                                                  scratch_pool));
             }
         }
     }