Index: third_party/sqlite/src/src/vdbetrace.c |
diff --git a/third_party/sqlite/src/src/vdbetrace.c b/third_party/sqlite/src/src/vdbetrace.c |
index 507c2f12fc7d57083fda94bd329db820674c0ad4..c230b505547b1f9a86a260cf31c349a1e60c1a42 100644 |
--- a/third_party/sqlite/src/src/vdbetrace.c |
+++ b/third_party/sqlite/src/src/vdbetrace.c |
@@ -84,9 +84,8 @@ char *sqlite3VdbeExpandSql( |
char zBase[100]; /* Initial working space */ |
db = p->db; |
- sqlite3StrAccumInit(&out, zBase, sizeof(zBase), |
+ sqlite3StrAccumInit(&out, db, zBase, sizeof(zBase), |
db->aLimit[SQLITE_LIMIT_LENGTH]); |
- out.db = db; |
if( db->nVdbeExec>1 ){ |
while( *zRawSql ){ |
const char *zStart = zRawSql; |
@@ -95,6 +94,8 @@ char *sqlite3VdbeExpandSql( |
assert( (zRawSql - zStart) > 0 ); |
sqlite3StrAccumAppend(&out, zStart, (int)(zRawSql-zStart)); |
} |
+ }else if( p->nVar==0 ){ |
+ sqlite3StrAccumAppend(&out, zRawSql, sqlite3Strlen30(zRawSql)); |
}else{ |
while( zRawSql[0] ){ |
n = findNextHostParameter(zRawSql, &nToken); |
@@ -111,10 +112,12 @@ char *sqlite3VdbeExpandSql( |
idx = nextIndex; |
} |
}else{ |
- assert( zRawSql[0]==':' || zRawSql[0]=='$' || zRawSql[0]=='@' ); |
+ assert( zRawSql[0]==':' || zRawSql[0]=='$' || |
+ zRawSql[0]=='@' || zRawSql[0]=='#' ); |
testcase( zRawSql[0]==':' ); |
testcase( zRawSql[0]=='$' ); |
testcase( zRawSql[0]=='@' ); |
+ testcase( zRawSql[0]=='#' ); |
idx = sqlite3VdbeParameterIndex(p, zRawSql, nToken); |
assert( idx>0 ); |
} |