1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Add the sqlite3_expanded_sql() interface. Refinements to the

sqlite3_trace_v2() interface to make it more useful.

FossilOrigin-Name: 99ee7ee58d45b29a0000492306ddc0b90563ff51
This commit is contained in:
drh
2016-07-14 01:09:08 +00:00
parent 1637a5171f
commit fca760c841
11 changed files with 112 additions and 72 deletions

View File

@@ -6785,27 +6785,21 @@ case OP_Init: { /* jump */
char *z;
#ifndef SQLITE_OMIT_TRACE
if( (db->mTrace & (SQLITE_TRACE_SQL|SQLITE_TRACE_STMT|SQLITE_TRACE_LEGACY))!=0
if( (db->mTrace & (SQLITE_TRACE_STMT|SQLITE_TRACE_LEGACY))!=0
&& !p->doingRerun
&& (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0
){
if( db->mTrace & (SQLITE_TRACE_SQL|SQLITE_TRACE_LEGACY) ){
z = sqlite3VdbeExpandSql(p, zTrace);
z = sqlite3VdbeExpandSql(p, zTrace);
#ifndef SQLITE_OMIT_DEPRECATED
if( SQLITE_TRACE_LEGACY ){
void (*x)(void*,const char*);
x = (void(*)(void*,const char*))db->xTrace;
x(db->pTraceArg, z);
}else
if( db->mTrace & SQLITE_TRACE_LEGACY ){
void (*x)(void*,const char*) = (void(*)(void*,const char*))db->xTrace;
x(db->pTraceArg, z);
}else
#endif
{
db->xTrace(SQLITE_TRACE_SQL,db->pTraceArg,z,0);
}
sqlite3DbFree(db, z);
}
if( db->mTrace & SQLITE_TRACE_STMT ){
(void)db->xTrace(SQLITE_TRACE_STMT,db->pTraceArg,p,0);
{
(void)db->xTrace(SQLITE_TRACE_STMT,db->pTraceArg,p,z);
}
sqlite3_free(z);
}
#ifdef SQLITE_USE_FCNTL_TRACE
zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql);