1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Abort the window function tree rewrite early following an OOM.

FossilOrigin-Name: d66f95a51530259ab48f78c9f91acc38055caf338b6fee846b99a8c077466e95
This commit is contained in:
drh
2019-11-23 16:34:40 +00:00
parent 62be2dc753
commit a2f142d079
3 changed files with 10 additions and 9 deletions

View File

@@ -813,7 +813,7 @@ static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){
pExpr->iTable = p->pWin->iEphCsr;
pExpr->y.pTab = p->pTab;
}
if( pParse->db->mallocFailed ) return WRC_Abort;
break;
}
@@ -1273,6 +1273,7 @@ void sqlite3WindowLink(Select *pSel, Window *pWin){
** Identical window objects can be processed in a single scan.
*/
int sqlite3WindowCompare(Parse *pParse, Window *p1, Window *p2, int bFilter){
if( NEVER(p1==0) || NEVER(p2==0) ) return 1;
if( p1->eFrmType!=p2->eFrmType ) return 1;
if( p1->eStart!=p2->eStart ) return 1;
if( p1->eEnd!=p2->eEnd ) return 1;