aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2017-12-27 22:09:53 +0000
committerdrh <drh@noemail.net>2017-12-27 22:09:53 +0000
commit6e427576440b9a3abc9b9ccecab7295342ce869c (patch)
tree9349b3beac9e19bbf79956574f2c7c04fc7ce0d5 /src/expr.c
parent2c804becea9404013d213ff9b270723fae1b5462 (diff)
parente307e11d0a38163d332554f54632d7b8eeb78d5d (diff)
downloadsqlite-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.c7
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);
}
}