From: dan Date: Tue, 26 Mar 2019 13:08:34 +0000 (+0000) Subject: Add support for new window functions related features - GROUPS frames, RANGE frames... X-Git-Tag: version-3.28.0~88 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b60c3b01ccb88b701f3eeea79344f1e57aad5173;p=thirdparty%2Fsqlite.git Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining. FossilOrigin-Name: c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d --- b60c3b01ccb88b701f3eeea79344f1e57aad5173 diff --cc manifest index c7ae05097a,ce66d38d4a..dde29a7cc1 --- a/manifest +++ 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 188b3d1ce4,5b76473da8..e34e128395 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823 -9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205 ++c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d diff --cc src/btree.c index 728a87e0ae,2b43d1f9dc..de694bee9e --- a/src/btree.c +++ b/src/btree.c @@@ -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->ixpPage->nCell ); - assert( pCur->eState==CURSOR_VALID ); assert( (flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0 ); + if( pCur->eState==CURSOR_REQUIRESEEK ){ + rc = btreeRestoreCursorPosition(pCur); + if( rc ) return rc; + } + assert( pCur->eState==CURSOR_VALID ); - assert( pCur->ixpPage->nCell ); iCellDepth = pCur->iPage; iCellIdx = pCur->ix;