Add test file e_blobwrite.test, containing tests for the sqlite3_blob_write() interface.

FossilOrigin-Name: 1df77e5f1bd82de4dc92fe28359c3e56ab3f9ed4
diff --git a/src/vdbeblob.c b/src/vdbeblob.c
index 0cf2b06..cf1eb59 100644
--- a/src/vdbeblob.c
+++ b/src/vdbeblob.c
@@ -376,7 +376,6 @@
   if( n<0 || iOffset<0 || (iOffset+n)>p->nByte ){
     /* Request is out of range. Return a transient error. */
     rc = SQLITE_ERROR;
-    sqlite3Error(db, SQLITE_ERROR);
   }else if( v==0 ){
     /* If there is no statement handle, then the blob-handle has
     ** already been invalidated. Return SQLITE_ABORT in this case.
@@ -394,10 +393,10 @@
       sqlite3VdbeFinalize(v);
       p->pStmt = 0;
     }else{
-      db->errCode = rc;
       v->rc = rc;
     }
   }
+  sqlite3Error(db, rc);
   rc = sqlite3ApiExit(db, rc);
   sqlite3_mutex_leave(db->mutex);
   return rc;