SQLite

Check-in [fea7ade649]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Improved context for error_log message coming from sqlite3_prepare().
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: fea7ade649ae72303078782f7bc510e0a17f082ffde10e769f1aeb1cf37b5554
User & Date: drh 2018-06-21 23:53:54.653
Context
2018-06-30
20:15
Merge implementation of SQL window functions from the exp-window-functions into trunk. (check-in: 17198a1206 user: dan tags: trunk)
2018-06-26
20:19
Merge latest trunk changes. (check-in: d9f814b443 user: dan tags: exp-window-functions)
2018-06-21
23:53
Improved context for error_log message coming from sqlite3_prepare(). (check-in: fea7ade649 user: drh tags: trunk)
23:43
Improved context for error_log message coming from sqlite3_prepare(). (Leaf check-in: 64df1189b3 user: drh tags: ieee754)
2018-06-19
11:15
Minor change to the input grammar to make the parser tables slightly smaller. (check-in: 320fa69e6a user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/tokenize.c.
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
545
546
547
548
549
550
551

552
553
554
555
556
557
558







-







      sqlite3Parser(pEngine, tokenType, pParse->sLastToken);
      lastTokenParsed = tokenType;
      zSql += n;
      if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break;
    }
  }
  assert( nErr==0 );
  pParse->zTail = zSql;
#ifdef YYTRACKMAXSTACKDEPTH
  sqlite3_mutex_enter(sqlite3MallocMutex());
  sqlite3StatusHighwater(SQLITE_STATUS_PARSER_STACK,
      sqlite3ParserStackPeak(pEngine)
  );
  sqlite3_mutex_leave(sqlite3MallocMutex());
#endif /* YYDEBUG */
567
568
569
570
571
572
573
574


575
576
577

578
579
580
581
582
583
584
566
567
568
569
570
571
572

573
574
575
576
577
578
579
580
581
582
583
584
585







-
+
+



+







  }
  if( pParse->rc!=SQLITE_OK && pParse->rc!=SQLITE_DONE && pParse->zErrMsg==0 ){
    pParse->zErrMsg = sqlite3MPrintf(db, "%s", sqlite3ErrStr(pParse->rc));
  }
  assert( pzErrMsg!=0 );
  if( pParse->zErrMsg ){
    *pzErrMsg = pParse->zErrMsg;
    sqlite3_log(pParse->rc, "%s", *pzErrMsg);
    sqlite3_log(pParse->rc, "%s in \"%s\"", 
                *pzErrMsg, pParse->zTail);
    pParse->zErrMsg = 0;
    nErr++;
  }
  pParse->zTail = zSql;
  if( pParse->pVdbe && pParse->nErr>0 && pParse->nested==0 ){
    sqlite3VdbeDelete(pParse->pVdbe);
    pParse->pVdbe = 0;
  }
#ifndef SQLITE_OMIT_SHARED_CACHE
  if( pParse->nested==0 ){
    sqlite3DbFree(db, pParse->aTableLock);