diff options
author | drh <drh@noemail.net> | 2017-12-27 22:09:53 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2017-12-27 22:09:53 +0000 |
commit | 6e427576440b9a3abc9b9ccecab7295342ce869c (patch) | |
tree | 9349b3beac9e19bbf79956574f2c7c04fc7ce0d5 /src/expr.c | |
parent | 2c804becea9404013d213ff9b270723fae1b5462 (diff) | |
parent | e307e11d0a38163d332554f54632d7b8eeb78d5d (diff) | |
download | sqlite-6e427576440b9a3abc9b9ccecab7295342ce869c.tar.gz sqlite-6e427576440b9a3abc9b9ccecab7295342ce869c.zip |
The output of sqlite3_trace() now shows each command of a trigger as it is
evaluated. This feature involved major changes to the parser, such as
removing the ExprSpan object and replacing it with a new mechanism for
capturing the original SQL text of phrases in the input SQL.
FossilOrigin-Name: 0fdf97efe5df745510c6b4b377a8ee5683a3a237630bfbd0f56e57c7c6e5b246
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/expr.c b/src/expr.c index 524e53934..1592f1040 100644 --- a/src/expr.c +++ b/src/expr.c @@ -1654,17 +1654,16 @@ void sqlite3ExprListSetName( void sqlite3ExprListSetSpan( Parse *pParse, /* Parsing context */ ExprList *pList, /* List to which to add the span. */ - ExprSpan *pSpan /* The span to be added */ + const char *zStart, /* Start of the span */ + const char *zEnd /* End of the span */ ){ sqlite3 *db = pParse->db; assert( pList!=0 || db->mallocFailed!=0 ); if( pList ){ struct ExprList_item *pItem = &pList->a[pList->nExpr-1]; assert( pList->nExpr>0 ); - assert( db->mallocFailed || pItem->pExpr==pSpan->pExpr ); sqlite3DbFree(db, pItem->zSpan); - pItem->zSpan = sqlite3DbStrNDup(db, (char*)pSpan->zStart, - (int)(pSpan->zEnd - pSpan->zStart)); + pItem->zSpan = sqlite3DbSpanDup(db, zStart, zEnd); } } |