]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add support for new window functions related features - GROUPS frames, RANGE frames...
authordan <dan@noemail.net>
Tue, 26 Mar 2019 13:08:34 +0000 (13:08 +0000)
committerdan <dan@noemail.net>
Tue, 26 Mar 2019 13:08:34 +0000 (13:08 +0000)
FossilOrigin-Name: c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d

1  2 
manifest
manifest.uuid
src/btree.c

diff --cc manifest
index c7ae05097a59358aee97f58574c4f4def68b2b2d,ce66d38d4af5dfad2dd6c4e3baf8d7ac402438e8..dde29a7cc152f816e6ac2c59752a7ef5d9282854
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Fix\san\sobsolete\scomment\sin\sthe\sCLI.\s\sNo\scode\schanges.
- D 2019-03-25T22:05:22.540
 -C Fix\sa\sproblem\swith\sa\swindow\sfunction\sin\sa\scorrelated\ssub-query\swhere\sat\sleast\sone\sreference\sto\sthe\souter\sSELECT\sappears\sin\sa\sFROM\sclause\ssub-select.
 -D 2019-03-22T13:56:49.356
++C Add\ssupport\sfor\snew\swindow\sfunctions\srelated\sfeatures\s-\sGROUPS\sframes,\sRANGE\sframes\swith\slogical\sstart\sand\send\spoints,\sthe\sEXCLUDE\sclause\sand\swindow\schaining.
++D 2019-03-26T13:08:34.839
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -457,10 -457,10 +457,10 @@@ F src/auth.c 0fac71038875693a937e506bce
  F src/backup.c 78d3cecfbe28230a3a9a1793e2ead609f469be43e8f486ca996006be551857ab
  F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
  F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
- F src/btree.c 6bea02598917ad9549d2d0c78bf8cc288eeb7a0b0f4298cbe1713db01340f9be
 -F src/btree.c b4fe9e71438e659db8e68ba2fca64b7275eb39b1d36500b218b742511198da1a
++F src/btree.c a644e8f3b71205e1e360ed5a28d8fc8feaa5c63fee3a49a36711ff83f4bdf6d2
  F src/btree.h 63b94fb38ce571c15eb6a3661815561b501d23d5948b2d1e951fbd7a2d04e8d3
  F src/btreeInt.h 6111c15868b90669f79081039d19e7ea8674013f907710baa3c814dc3f8bfd3f
 -F src/build.c 3acec29b23948042173301a8befebae01a98344debf66cbd4467c8b9077707b8
 +F src/build.c 7c8851893fb616115d7f6ae1e07df5076c6d4a8f592cd2affa04f3112176c38c
  F src/callback.c 25dda5e1c2334a367b94a64077b1d06b2553369f616261ca6783c48bcb6bda73
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
  F src/ctime.c 109e58d00f62e8e71ee1eb5944ac18b90171c928ab2e082e058056e1137cc20b
@@@ -514,14 -514,14 +514,14 @@@ F src/pragma.h a776bb9c915207e9d1117b57
  F src/prepare.c 78027c6231fbb19ca186a5f5f0c0a1375d9c2cec0655273f9bd90d9ff74a34b3
  F src/printf.c 93a3d539019264683a444bc043c875e9a6cca43fe935ae7bf6cfff0af3bba118
  F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
- F src/resolve.c 09419ad5c432190b69be7c0c326e03abb548a97c2c50675b81b459e1b382d1d2
+ F src/resolve.c f20cb5b953bd927e8c6b6e01662cce066a632b5d3a21d2938b93de0825aef5d5
  F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
  F src/select.c 9263f5c30dd44c7ac2eb29f40a7ec64322a96885b71c00de6bc30b756c2e1c49
 -F src/shell.c.in 01c0cc01391d00d247fdf640052d38c267fc16d975bc4f3154a02277c232dbeb
 -F src/sqlite.h.in e33a4df7e32d742aac29623b38a1edd7e07a2b964a5d0257e2923c8a724faddc
 +F src/shell.c.in c1986496062f9dba4ed5b70db06b5e0f32e1954cdcfab0b30372c6c186796810
 +F src/sqlite.h.in 633ca2147938402fe43118db929a7949dde3e2a08c138e40bbdec12a0e696129
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 960f1b86c3610fa23cb6a267572a97dcf286e77aa0dd3b9b23292ffaa1ea8683
- F src/sqliteInt.h f253c4ec15e577a293a462e5049f8ea1d0c7a31819b3a88acdd24698df8f4d0b
+ F src/sqliteInt.h 19641f2402ef4e45fd2e222f5a45bb24e3f89a519059d35ce2819f46ce5e1a1e
  F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b
  F src/status.c 46e7aec11f79dad50965a5ca5fa9de009f7d6bde08be2156f1538a0a296d4d0e
  F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
@@@ -586,8 -586,8 +586,8 @@@ F src/update.c 0b973357d88092140531e07f
  F src/upsert.c 0dd81b40206841814d46942a7337786932475f085716042d0cb2fc7791bf8ca4
  F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5
  F src/util.c 82a2e3f691a3b654be872e305dab1f455e565dedf5e6a90c818c1ab307c00432
 -F src/vacuum.c a9f389f41556c0ec310bc9169dc9476603c30a0a913ad92bfbc75c86886967ca
 +F src/vacuum.c 532553ee1d47f69c1198858107b1f3af3d16af25f2ab4ce3b1263d9e333f26e2
- F src/vdbe.c f1e7b5320df80ff58c67176e35cb48062cbda2a9c9811f11db5faa48071d3fe4
+ F src/vdbe.c 8f824b423460fbbd6a140f557b9d3cb26fa55404d03aee43584d11c7d1011b02
  F src/vdbe.h 712bca562eaed1c25506b9faf9680bdc75fc42e2f4a1cd518d883fa79c7a4237
  F src/vdbeInt.h a76d5eed62c76bcd8de7afd3147fac1bc40c5a870582664bcd7d071ef437c37f
  F src/vdbeapi.c 7a052df80d7e2e55382076174633e888f21fe200feb5d49b1b441b4c38ab851a
@@@ -1807,7 -1813,7 +1813,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P e775ef002dd33e6bcbeec8d4b6ad7f59749e35548c7a59c9fa3bcfdc5cc50730
- R 3d12cfa0cda4f35a3d1533c43ce31db3
- U drh
- Z b5e63031019719c1b59c8c1822668f3c
 -P c7b336181aac6785a515f275c0f50ad4bf2dee20abde959b56d968a7fdce3e5b
 -R 27c6db300027eaa6c67b9af679eb88d7
++P fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823 9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205
++R bdc22793cb51647fca24f70e83877204
++T +closed 9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205
+ U dan
 -Z 618684b43d76a076130756009b0f94fe
++Z 8d3e4b02d8e1dd0a57c5b612deb65ffe
diff --cc manifest.uuid
index 188b3d1ce40db40e1bf16a7605142ef4fc0eb4a6,5b76473da84c1da76264658e1b5c767acfe5f22f..e34e128395f2b6a9012ecdeffbda6b8bc20755e0
@@@ -1,1 -1,1 +1,1 @@@
- fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823
 -9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205
++c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d
diff --cc src/btree.c
index 728a87e0aeb921c456c6afcb6e27a7c767670093,2b43d1f9dcb78ea9182265f1c2a0bf71c1d0fa75..de694bee9e3859dbb3e2b39ed7dc2769cefea408
@@@ -8834,9 -8828,13 +8834,12 @@@ int sqlite3BtreeDelete(BtCursor *pCur, 
    assert( pCur->curFlags & BTCF_WriteFlag );
    assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) );
    assert( !hasReadConflicts(p, pCur->pgnoRoot) );
-   assert( pCur->ix<pCur->pPage->nCell );
-   assert( pCur->eState==CURSOR_VALID );
    assert( (flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0 );
 -  assert( pCur->ix<pCur->pPage->nCell );
+   if( pCur->eState==CURSOR_REQUIRESEEK ){
+     rc = btreeRestoreCursorPosition(pCur);
+     if( rc ) return rc;
+   }
+   assert( pCur->eState==CURSOR_VALID );
  
    iCellDepth = pCur->iPage;
    iCellIdx = pCur->ix;