]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improved tree-view debugging output for aggregate functions.
authordrh <drh@noemail.net>
Tue, 9 Jun 2020 11:59:15 +0000 (11:59 +0000)
committerdrh <drh@noemail.net>
Tue, 9 Jun 2020 11:59:15 +0000 (11:59 +0000)
FossilOrigin-Name: b5711b4eead10ef4b0b61f2e2c54768d215a4105f6d47d2ea78991b6e53a6831

manifest
manifest.uuid
src/select.c
src/sqliteInt.h
src/treeview.c

index 6be90cfd3ab7ae394452a27d673b4ac2394edbb1..5e72cbd1e93dae3858c509942fe1814672660a25 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\scase\swhere\sa\scorrupted\sfts3\srecord\scould\scause\san\sassert()\sfailure,\sor\sspurious\sSQLITE_NOMEM\serror\sin\sbuilds\swith\sassert()\sdisabled.
-D 2020-06-08T14:43:41.880
+C Improved\stree-view\sdebugging\soutput\sfor\saggregate\sfunctions.
+D 2020-06-09T11:59:15.991
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -533,12 +533,12 @@ F src/printf.c 94b5419ad0a17269f76a9e968ca19cf9fa37617abed2e246fc48844e511b6bc6
 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
 F src/resolve.c c2008519a0654f1e7490e9281ed0397d0f14bb840d81f0b96946248afcbdb25d
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
-F src/select.c fb79ed71f8b8bbe9fefaba9b844f80700dea4f175ccac34c64a7b5cd75abc362
+F src/select.c 1301808307645b008ba7a33647c0ca19f97240c426addd2e0dad2a2867d8b2b5
 F src/shell.c.in c6e26593f2738eefded08a39204bf6b48db135cdfaa458c26ffe57055b4fe365
 F src/sqlite.h.in 74342b41e9d68ff9e56b192009046f8dd0aa2bd76ce1a588f330de614ba61de7
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0197
-F src/sqliteInt.h 04621e8c61c2bf4578d07e99cc5b5909b16d5e34600ed8297a8fd4d1a95afc4e
+F src/sqliteInt.h 73968c25461d9edf3b15d5d8f1468c4dd0677cbcb5a0be606e04e19e0d4a6863
 F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032
 F src/status.c 9ff2210207c6c3b4d9631a8241a7d45ab1b26a0e9c84cb07a9b5ce2de9a3b278
 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@ -598,7 +598,7 @@ F src/test_window.c cdae419fdcea5bad6dcd9368c685abdad6deb59e9fc8b84b153de513d394
 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
 F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
 F src/tokenize.c eee7bae3ec0bc4abee951554bf46a8ba567c0f7752ac90c820ed8afff4c612dc
-F src/treeview.c c5691babcd558baa136474b57a4aede45cf68daa3ed6637b981dde4b256e5b67
+F src/treeview.c 4b92992176fb2caefbe06ba5bd06e0e0ebcde3d5564758da672631f17aa51cda
 F src/trigger.c 4ada1037cc99777f647a882cdacbd1a4deb6567b69daf02946286401b88cdc04
 F src/update.c 3199098455830fc2d8c8fc4ae3ec2ea513eef64339ae9a7048db62b21169bc7a
 F src/upsert.c 2920de71b20f04fe25eb00b655d086f0ba60ea133c59d7fa3325c49838818e78
@@ -1867,7 +1867,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb
-R 501a6f582df48fcb778cb04d0dbc67e9
-U dan
-Z 59d7d89d08b1863cb68d3606c4f1b730
+P d48af4d2cfff3d5f4ccc3db5d658e8b503255b577e6e62b5c2b4a4437875b895
+R 7f4e9a8ad02c966f79b46556c8deb165
+U drh
+Z 7160527ec9944aa7c5f24e9bdb594d2d
index 1ae45ab99bea72910f2bebffc00bc049f35ddc2e..8ee67f7f22167977d5d56c6c718fb2642e47b0a9 100644 (file)
@@ -1 +1 @@
-d48af4d2cfff3d5f4ccc3db5d658e8b503255b577e6e62b5c2b4a4437875b895
\ No newline at end of file
+b5711b4eead10ef4b0b61f2e2c54768d215a4105f6d47d2ea78991b6e53a6831
\ No newline at end of file
index 9e8af0cb170d136b1cbab142bd134bb31d3ad04d..96e44225fa1eab0f8065faab4c2c8c2658030793 100644 (file)
@@ -6362,6 +6362,7 @@ int sqlite3Select(
     }
     pAggInfo->pNext = pParse->pAggList;
     pParse->pAggList = pAggInfo;
+    pAggInfo->selId = p->selId;
     memset(&sNC, 0, sizeof(sNC));
     sNC.pParse = pParse;
     sNC.pSrcList = pTabList;
index 0b71ef42bbd8d862c2b5acabcc0299d75906479f..0cd33baa0863c72e5262a00e91a9d41d833dffb0 100644 (file)
@@ -2523,9 +2523,7 @@ struct AggInfo {
     int iDistinct;           /* Ephemeral table used to enforce DISTINCT */
   } *aFunc;
   int nFunc;              /* Number of entries in aFunc[] */
-#ifdef SQLITE_DEBUG
-  int iAggMagic;          /* Magic number when valid */
-#endif
+  u32 selId;              /* Select to which this AggInfo belongs */
   AggInfo *pNext;         /* Next in list of them all */
 };
 
index 8ae06261ea1533628df9e643401bc9605f49e368..187f1a07d1c38cfa4a8b017c8fced961f0d271b1 100644 (file)
@@ -582,8 +582,9 @@ void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){
 #endif 
       }
       if( pExpr->op==TK_AGG_FUNCTION ){
-        sqlite3TreeViewLine(pView, "AGG_FUNCTION%d %Q%s iAgg=%d agg=%p",
+        sqlite3TreeViewLine(pView, "AGG_FUNCTION%d %Q%s agg=%d[%d]/%p",
                              pExpr->op2, pExpr->u.zToken, zFlgs,
+                             pExpr->pAggInfo ? pExpr->pAggInfo->selId : 0,
                              pExpr->iAgg, pExpr->pAggInfo);
       }else if( pExpr->op2!=0 ){
         const char *zOp2;