Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | In the query planner, do not let tables commute across any outer join. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
8cee5388232ade91ea627bb6857eb893 |
User & Date: | drh 2022-05-04 02:01:49.881 |
Context
2022-05-04
| ||
03:45 | Fix CLI use of wrong allocator for free(). (check-in: 9fb20a21fe user: larrybr tags: trunk) | |
02:01 | In the query planner, do not let tables commute across any outer join. (check-in: 8cee538823 user: drh tags: trunk) | |
2022-05-03
| ||
21:58 | Typos cleared from README.md (check-in: be3a1879c8 user: larrybr tags: trunk) | |
Changes
Changes to src/where.c.
︙ | ︙ | |||
4140 4141 4142 4143 4144 4145 4146 | Bitmask mUnusable = 0; pNew->iTab = iTab; pBuilder->iPlanLimit += SQLITE_QUERY_PLANNER_LIMIT_INCR; pNew->maskSelf = sqlite3WhereGetMask(&pWInfo->sMaskSet, pItem->iCursor); if( (pItem->fg.jointype & (JT_OUTER|JT_CROSS))!=0 ){ /* This condition is true when pItem is the FROM clause term on the ** right-hand-side of a OUTER or CROSS JOIN. */ | < < | | 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 | Bitmask mUnusable = 0; pNew->iTab = iTab; pBuilder->iPlanLimit += SQLITE_QUERY_PLANNER_LIMIT_INCR; pNew->maskSelf = sqlite3WhereGetMask(&pWInfo->sMaskSet, pItem->iCursor); if( (pItem->fg.jointype & (JT_OUTER|JT_CROSS))!=0 ){ /* This condition is true when pItem is the FROM clause term on the ** right-hand-side of a OUTER or CROSS JOIN. */ mPrereq |= mPrior; } #ifndef SQLITE_OMIT_VIRTUALTABLE if( IsVirtual(pItem->pTab) ){ SrcItem *p; for(p=&pItem[1]; p<pEnd; p++){ if( mUnusable || (p->fg.jointype & (JT_OUTER|JT_CROSS)) ){ mUnusable |= sqlite3WhereGetMask(&pWInfo->sMaskSet, p->iCursor); |
︙ | ︙ |