diff options
author | dan <dan@noemail.net> | 2019-07-13 16:39:38 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2019-07-13 16:39:38 +0000 |
commit | df9d32441a3d2abf62ecfec60f2605dc1630b76b (patch) | |
tree | 8f698360de0417d86e248a0c686b3e2aa7d87cf7 /src/btree.c | |
parent | 8616cff6c8541e2837ccb7a2bc5792de5aba962f (diff) | |
parent | 4f9adee289fcc8de83054332212c90f389609d4a (diff) | |
download | sqlite-df9d32441a3d2abf62ecfec60f2605dc1630b76b.tar.gz sqlite-df9d32441a3d2abf62ecfec60f2605dc1630b76b.zip |
Add support for attaching a FILTER clause to an aggregate function.
FossilOrigin-Name: ee293e5aeac0b05a8b809095610fd8b4fdaf8e68cd368de90ec0d45e3582ffe5
Diffstat (limited to 'src/btree.c')
-rw-r--r-- | src/btree.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/btree.c b/src/btree.c index 6c73a9422..5f82f1cc0 100644 --- a/src/btree.c +++ b/src/btree.c @@ -8307,11 +8307,13 @@ static int balance(BtCursor *pCur){ VVA_ONLY( int balance_deeper_called = 0 ); do { - int iPage = pCur->iPage; + int iPage; MemPage *pPage = pCur->pPage; if( NEVER(pPage->nFree<0) && btreeComputeFreeSpace(pPage) ) break; - if( iPage==0 ){ + if( pPage->nOverflow==0 && pPage->nFree<=nMin ){ + break; + }else if( (iPage = pCur->iPage)==0 ){ if( pPage->nOverflow ){ /* The root page of the b-tree is overfull. In this case call the ** balance_deeper() function to create a new child for the root-page @@ -8332,8 +8334,6 @@ static int balance(BtCursor *pCur){ }else{ break; } - }else if( pPage->nOverflow==0 && pPage->nFree<=nMin ){ - break; }else{ MemPage * const pParent = pCur->apPage[iPage-1]; int const iIdx = pCur->aiIdx[iPage-1]; |