On 10/7/15, Aki Tuomi <cmouse at cmouse.fi> wrote:
>
> Abusing bit more it would seem that when it's not logging, it's going thru
> sqlite3Reprepare and doing a rerun. Wonder if this causes the logging be
> suppressed? See http://p.ip.fi/bt6b
>

Try the patch below to see if it makes a difference:

Index: src/vdbe.c
==================================================================
--- src/vdbe.c
+++ src/vdbe.c
@@ -6545,14 +6545,17 @@
   char *zTrace;
   char *z;

 #ifndef SQLITE_OMIT_TRACE
   if( db->xTrace
-   && !p->doingRerun
    && (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0
   ){
-    z = sqlite3VdbeExpandSql(p, zTrace);
+    if( p->doingRerun ){
+      z = sqlite3MPrintf(db, "-- rerun: %s", zTrace);
+    }else{
+      z = sqlite3VdbeExpandSql(p, zTrace);
+    }
     db->xTrace(db->pTraceArg, z);
     sqlite3DbFree(db, z);
   }
 #ifdef SQLITE_USE_FCNTL_TRACE
   zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql);



-- 
D. Richard Hipp
drh at sqlite.org

Reply via email to