SQLite

Check-in [a8224448cc]
Login

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

Overview
Comment:Runs quicktest without hitting an assert now. Some tests get unexpected results still and there is a memory leak.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | experimental
Files: files | file ages | folders
SHA1: a8224448cc305258a59a9023e6604783dda73e45
User & Date: drh 2010-04-06 18:51:43.000
Context
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: abbf16e5e7 user: drh tags: experimental)
18:51
Runs quicktest without hitting an assert now. Some tests get unexpected results still and there is a memory leak. (check-in: a8224448cc user: drh tags: experimental)
18:28
Progress toward getting automatic indices to work. Still failing in corner cases. (check-in: ac6d0fba78 user: drh tags: experimental)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/where.c.
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
    }
#endif /* SQLITE_OMIT_EXPLAIN */
    pTabItem = &pTabList->a[pLevel->iFrom];
    pTab = pTabItem->pTab;
    pLevel->iTabCur = pTabItem->iCursor;
    iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
    if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ){
      if( pLevel->plan.wsFlags & WHERE_TEMP_INDEX ){
        constructTransientIndex(pParse, pWC, pTabItem, notReady, pLevel);
      }
      continue;
    }
#ifndef SQLITE_OMIT_VIRTUALTABLE
    if( (pLevel->plan.wsFlags & WHERE_VIRTUALTABLE)!=0 ){
      const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
      int iCur = pTabItem->iCursor;
      sqlite3VdbeAddOp4(v, OP_VOpen, iCur, 0, 0, pVTab, P4_VTAB);
    }else
#endif







<
<
<
|
|







4074
4075
4076
4077
4078
4079
4080



4081
4082
4083
4084
4085
4086
4087
4088
4089
    }
#endif /* SQLITE_OMIT_EXPLAIN */
    pTabItem = &pTabList->a[pLevel->iFrom];
    pTab = pTabItem->pTab;
    pLevel->iTabCur = pTabItem->iCursor;
    iDb = sqlite3SchemaToIndex(db, pTab->pSchema);
    if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ){



      /* Do nothing */
    }else
#ifndef SQLITE_OMIT_VIRTUALTABLE
    if( (pLevel->plan.wsFlags & WHERE_VIRTUALTABLE)!=0 ){
      const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
      int iCur = pTabItem->iCursor;
      sqlite3VdbeAddOp4(v, OP_VOpen, iCur, 0, 0, pVTab, P4_VTAB);
    }else
#endif