mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-11 01:42:22 +03:00
Fix the [/info/df1d6482f9e92daf|UNION ALL flattener optimization] so that it
works better with recursive CTEs. dbsqlfuzz 88ed5c66789fced139d148aed823cba7c0926dd7 FossilOrigin-Name: f80d7bb2c305c1dd4658767660b33259032c048a91f18c654a6bda7332c54a0c
This commit is contained in:
@@ -3767,7 +3767,10 @@ static void srclistRenumberCursors(
|
||||
for(i=0, pItem=pSrc->a; i<pSrc->nSrc; i++, pItem++){
|
||||
if( i!=iExcept ){
|
||||
Select *p;
|
||||
pItem->iCursor = aCsrMap[pItem->iCursor] = pParse->nTab++;
|
||||
if( !pItem->fg.isRecursive || aCsrMap[pItem->iCursor]==0 ){
|
||||
aCsrMap[pItem->iCursor] = pParse->nTab++;
|
||||
}
|
||||
pItem->iCursor = aCsrMap[pItem->iCursor];
|
||||
for(p=pItem->pSelect; p; p=p->pPrior){
|
||||
srclistRenumberCursors(pParse, aCsrMap, p->pSrc, -1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user