/ Check-in [c7e6e848]
Login

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

Overview
Comment:Fix to check-in [ca34c2dd20ee071e] - avoid a NULL pointer dereference following an OOM.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: c7e6e848fa91f61bc980a031a17d4cd4784f93a1c9ffee35665efa1a59f2982a
User & Date: drh 2018-04-24 00:08:09
Context
2018-04-24
01:10
In EXPLAIN QUERY PLAN output, do not show an EXECUTE LIST SUBQUERY line for IN operators where the RHS is a list and not a subquery, since in that case there is no SUBQUERY to execute. check-in: 8bc0207a user: drh tags: trunk
00:08
Fix to check-in [ca34c2dd20ee071e] - avoid a NULL pointer dereference following an OOM. check-in: c7e6e848 user: drh tags: trunk
2018-04-23
20:38
Fix a problem in sqlite3ExprCompare() associated with UPSERT. check-in: 67d0b2c1 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/select.c.

  5339   5339     sqlite3 *db;           /* The database connection */
  5340   5340     ExprList *pMinMaxOrderBy = 0;  /* Added ORDER BY for min/max queries */
  5341   5341     u8 minMaxFlag;                 /* Flag for min/max queries */
  5342   5342   
  5343   5343   #ifndef SQLITE_OMIT_EXPLAIN
  5344   5344     int iRestoreSelectId = pParse->iSelectId;
  5345   5345     pParse->iSelectId = pParse->iNextSelectId++;
  5346         -#if SELECTTRACE_ENABLED
  5347         -  p->iSelectId = pParse->iSelectId;
  5348         -#endif
  5349   5346   #endif
  5350   5347   
  5351   5348     db = pParse->db;
  5352   5349     if( p==0 || db->mallocFailed || pParse->nErr ){
  5353   5350       return 1;
  5354   5351     }
  5355   5352     if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1;
  5356   5353     memset(&sAggInfo, 0, sizeof(sAggInfo));
  5357   5354   #if SELECTTRACE_ENABLED
         5355  +#ifndef SQLITE_OMIT_EXPLAIN
         5356  +  p->iSelectId = pParse->iSelectId;
         5357  +#endif
  5358   5358     SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->iSelectId));
  5359   5359     if( sqlite3SelectTrace & 0x100 ){
  5360   5360       sqlite3TreeViewSelect(0, p, 0);
  5361   5361     }
  5362   5362   #endif
  5363   5363   
  5364   5364     assert( p->pOrderBy==0 || pDest->eDest!=SRT_DistFifo );