Author: ehu
Date: Mon Sep  6 13:02:14 2010
New Revision: 993015

URL: http://svn.apache.org/viewvc?rev=993015&view=rev
Log:
Add 'n' (no binding) binding type to svn_sqlite__bindf() to allow
delayed binding of a small subset of columns.

 * subversion/include/private/svn_sqlite.h
 * subversion/libsvn_subr/sqlite.c
   (svn_sqlite__bindf): Add 'n' format specifier for skipped columns.


Modified:
    subversion/trunk/subversion/include/private/svn_sqlite.h
    subversion/trunk/subversion/libsvn_subr/sqlite.c

Modified: subversion/trunk/subversion/include/private/svn_sqlite.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_sqlite.h?rev=993015&r1=993014&r2=993015&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_sqlite.h (original)
+++ subversion/trunk/subversion/include/private/svn_sqlite.h Mon Sep  6 
13:02:14 2010
@@ -148,15 +148,16 @@ svn_sqlite__prepare(svn_sqlite__stmt_t *
 
 /* Bind values to SQL parameters in STMT, according to FMT.  FMT may contain:
 
-   Spec  Argument type       Item type
-   ----  -----------------   ---------
-   i     apr_int64_t         Number
-   s     const char *        String
-   b     const void *        Blob data
-         apr_size_t          Blob length
-   r     svn_revnum_t        Revision number
-   t     const svn_token_t * Token mapping table
-         int value           Token value
+   Spec  Argument type             Item type
+   ----  -----------------         ---------
+   n     <none, absent>            Column assignment skip
+   i     apr_int64_t               Number
+   s     const char *              String
+   b     const void *              Blob data
+         apr_size_t                Blob length
+   r     svn_revnum_t              Revision number
+   t     const svn_token_t *       Token mapping table
+         int value                 Token value
 
   Each character in FMT maps to one SQL parameter, and one or two function
   parameters, in the order they appear.
@@ -200,7 +201,7 @@ svn_sqlite__bind_revnum(svn_sqlite__stmt
                         svn_revnum_t value);
 
 /* Bind a set of properties to the given slot. If PROPS is NULL, then no
-   binding will occur. PROPS will be stored as a serialized skel. */
+/   binding will occur. PROPS will be stored as a serialized skel. */
 svn_error_t *
 svn_sqlite__bind_properties(svn_sqlite__stmt_t *stmt,
                             int slot,

Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=993015&r1=993014&r2=993015&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Mon Sep  6 13:02:14 2010
@@ -284,6 +284,10 @@ vbindf(svn_sqlite__stmt_t *stmt, const c
             SVN_ERR(svn_sqlite__bind_token(stmt, count, map, va_arg(ap, int)));
             break;
 
+          case 'n':
+            /* Skip this column: no binding */
+            break;
+
           default:
             SVN_ERR_MALFUNCTION();
         }


Reply via email to