Author: hwright
Date: Wed Dec 16 21:38:21 2009
New Revision: 891435

URL: http://svn.apache.org/viewvc?rev=891435&view=rev
Log:
When inserting into the pristine table, insert the correct checksum kind.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_INSERT_PRISTINE): Set the md5 checksum.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_pristine_install): Set the correct column, depending on the
    provided checksum kind.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc-queries.sql
    subversion/trunk/subversion/libsvn_wc/wc_db.c

Modified: subversion/trunk/subversion/libsvn_wc/wc-queries.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-queries.sql?rev=891435&r1=891434&r2=891435&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-queries.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-queries.sql Wed Dec 16 21:38:21 
2009
@@ -248,8 +248,8 @@
 DELETE FROM WORK_QUEUE WHERE id = ?1;
 
 -- STMT_INSERT_PRISTINE
-INSERT OR IGNORE INTO PRISTINE (checksum, size, refcount)
-VALUES (?1, ?2, 1);
+INSERT OR IGNORE INTO PRISTINE (checksum, md5_checksum, size, refcount)
+VALUES (?1, ?2, ?3, 1);
 
 -- STMT_SELECT_ACTUAL_CONFLICT_VICTIMS
 SELECT local_relpath

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=891435&r1=891434&r2=891435&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Wed Dec 16 21:38:21 2009
@@ -2375,8 +2375,11 @@
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, pdh->wcroot->sdb,
                                     STMT_INSERT_PRISTINE));
-  SVN_ERR(svn_sqlite__bind_checksum(stmt, 1, checksum, scratch_pool));
-  SVN_ERR(svn_sqlite__bind_int64(stmt, 2, finfo.size));
+  if (checksum->kind == svn_checksum_sha1)
+    SVN_ERR(svn_sqlite__bind_checksum(stmt, 1, checksum, scratch_pool));
+  else
+    SVN_ERR(svn_sqlite__bind_checksum(stmt, 2, checksum, scratch_pool));
+  SVN_ERR(svn_sqlite__bind_int64(stmt, 3, finfo.size));
   SVN_ERR(svn_sqlite__insert(NULL, stmt));
 
   return SVN_NO_ERROR;


Reply via email to