/ Check-in [0fff105a]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

Overview
Comment:Mark an unreachable branch using ALWAYS().
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 0fff105a3e501fd91877d67761459eb0323e6cf79916242027cce0d05697f554
User & Date: drh 2019-07-14 00:15:07
Context
2019-07-15
13:58
Fix a problem that could cause a crash if a blob handle were closed after the associated database handle was closed using sqlite3_close_v2(). check-in: 52f463d2 user: dan tags: trunk
07:58
Call ioctl() with the correct signature on both Android and stock Linux. Closed-Leaf check-in: 68e12e06 user: dan tags: ioctl-signature
2019-07-14
00:15
Mark an unreachable branch using ALWAYS(). check-in: 0fff105a user: drh tags: trunk
2019-07-13
18:27
Fix a memory leak that could follow an OOM in the new FILTER code. check-in: 85fd70fe user: dan tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/prepare.c.

631
632
633
634
635
636
637



638
639
640
641
642
643
644
645
  }
  if( pzTail ){
    *pzTail = sParse.zTail;
  }
  rc = sParse.rc;

#ifndef SQLITE_OMIT_EXPLAIN



  if( sParse.explain && rc==SQLITE_OK && sParse.pVdbe ){
    static const char * const azColName[] = {
       "addr", "opcode", "p1", "p2", "p3", "p4", "p5", "comment",
       "id", "parent", "notused", "detail"
    };
    int iFirst, mx;
    if( sParse.explain==2 ){
      sqlite3VdbeSetNumCols(sParse.pVdbe, 4);







>
>
>
|







631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
  }
  if( pzTail ){
    *pzTail = sParse.zTail;
  }
  rc = sParse.rc;

#ifndef SQLITE_OMIT_EXPLAIN
  /* Justification for the ALWAYS(): The only way for rc to be SQLITE_OK and
  ** sParse.pVdbe to be NULL is if the input SQL is an empty string, but in
  ** that case, sParse.explain will be false. */
  if( sParse.explain && rc==SQLITE_OK && ALWAYS(sParse.pVdbe) ){
    static const char * const azColName[] = {
       "addr", "opcode", "p1", "p2", "p3", "p4", "p5", "comment",
       "id", "parent", "notused", "detail"
    };
    int iFirst, mx;
    if( sParse.explain==2 ){
      sqlite3VdbeSetNumCols(sParse.pVdbe, 4);