/ Check-in [1dc0c3df]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Small performance improvement in the sqlite3_bind() family of interfaces.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 1dc0c3df32572f09265fc73eeaa0748159e0e9523b9b2d6768b834a29c909968
User & Date: drh 2018-12-11 12:20:41
Context
2018-12-11
12:51
Small performance improvement in sqlite3_step(). check-in: d1db8d58 user: drh tags: trunk
12:20
Small performance improvement in the sqlite3_bind() family of interfaces. check-in: 1dc0c3df user: drh tags: trunk
2018-12-10
20:01
Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. check-in: c96bf6cc user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/main.c.

  2401   2401       return sqlite3ErrStr(SQLITE_MISUSE_BKPT);
  2402   2402     }
  2403   2403     sqlite3_mutex_enter(db->mutex);
  2404   2404     if( db->mallocFailed ){
  2405   2405       z = sqlite3ErrStr(SQLITE_NOMEM_BKPT);
  2406   2406     }else{
  2407   2407       testcase( db->pErr==0 );
  2408         -    z = (char*)sqlite3_value_text(db->pErr);
         2408  +    z = db->errCode ? (char*)sqlite3_value_text(db->pErr) : 0;
  2409   2409       assert( !db->mallocFailed );
  2410   2410       if( z==0 ){
  2411   2411         z = sqlite3ErrStr(db->errCode);
  2412   2412       }
  2413   2413     }
  2414   2414     sqlite3_mutex_leave(db->mutex);
  2415   2415     return z;

Changes to src/vdbeapi.c.

  1282   1282       sqlite3_mutex_leave(p->db->mutex);
  1283   1283       return SQLITE_RANGE;
  1284   1284     }
  1285   1285     i--;
  1286   1286     pVar = &p->aVar[i];
  1287   1287     sqlite3VdbeMemRelease(pVar);
  1288   1288     pVar->flags = MEM_Null;
  1289         -  sqlite3Error(p->db, SQLITE_OK);
         1289  +  p->db->errCode = SQLITE_OK;
  1290   1290   
  1291   1291     /* If the bit corresponding to this variable in Vdbe.expmask is set, then 
  1292   1292     ** binding a new value to this variable invalidates the current query plan.
  1293   1293     **
  1294   1294     ** IMPLEMENTATION-OF: R-48440-37595 If the specific value bound to host
  1295   1295     ** parameter in the WHERE clause might influence the choice of query plan
  1296   1296     ** for a statement, then the statement will be automatically recompiled,