Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | common-table-expr |
Files: | files | file ages | folders |
SHA1: |
a29330238be6366444269a0b1b328475 |
User & Date: | drh 2014-01-15 02:40:11.688 |
Context
2014-01-15
| ||
14:17 | Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: 9472f6d820 user: dan tags: common-table-expr) | |
02:40 | Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. (check-in: a29330238b user: drh tags: common-table-expr) | |
2014-01-14
| ||
20:14 | Add code to handle recursive CTEs. (check-in: a5c2a54a07 user: dan tags: common-table-expr) | |
Changes
Changes to src/select.c.
︙ | ︙ | |||
3554 3555 3556 3557 3558 3559 3560 | ExprList *pEList; Select *pSel; int bRecursive; pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); if( pTab==0 ) return WRC_Abort; pTab->nRef = 1; | | | 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 | ExprList *pEList; Select *pSel; int bRecursive; pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); if( pTab==0 ) return WRC_Abort; pTab->nRef = 1; pTab->zName = sqlite3MPrintf(db, "%s", pCte->zName); pTab->iPKey = -1; pTab->nRowEst = 1048576; pTab->tabFlags |= TF_Ephemeral; pFrom->pSelect = sqlite3SelectDup(db, pCte->pSelect, 0); if( db->mallocFailed ) return SQLITE_NOMEM; assert( pFrom->pSelect ); |
︙ | ︙ |