Improved comments on bytecode used to implement aggregate queries, to aid
in debugging. FossilOrigin-Name: a1a8b85cdba64a17dcdcd4e6b42b872957cec2dc05b0ac34dfcd82f59344034b
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
C Improved\sbyte-code\scomments\sfor\sthe\sshort-circuit\soptimization\sof\n[0083d5169a46104a],\sto\said\sin\sdebugging.
|
||||
D 2025-07-01T20:32:45.457
|
||||
C Improved\scomments\son\sbytecode\sused\sto\simplement\saggregate\squeries,\sto\said\nin\sdebugging.
|
||||
D 2025-07-01T23:17:36.521
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@@ -785,7 +785,7 @@ F src/printf.c 71b6d3a0093bf23f473e25480ca0024e8962681506c75f4ffd3d343a3f0ab113
|
||||
F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
|
||||
F src/resolve.c d40fe18d7c2fd0339f5846ffcf7d6809866e380acdf14c76fb2af87e9fe13f64
|
||||
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
|
||||
F src/select.c 882d739e0d5e6c7a8b46a3cca3ada37fe1a56301f1360d6b141312c666bbe482
|
||||
F src/select.c a59865dac1ab591f253ae29f12bed7de848692064f2bd752f97271332fa13430
|
||||
F src/shell.c.in 4f14a1f5196b6006abc8e73cc8fd6c1a62cf940396f8ba909d6711f35f074bb6
|
||||
F src/sqlite.h.in 5c54f2461a1ea529bab8499148a2b238e2d4bb571d59e8ea5322d0c190abb693
|
||||
F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
|
||||
@@ -2208,8 +2208,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
|
||||
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
||||
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 2d187d4232d750cb1840f1d89c8aed65962cb0883c1d7f91c554b451e475c514
|
||||
R 514121d017fa6dee51263403393090a8
|
||||
P 113f9d10e347eeaa893ff8b47a461009e0b12589374b93cf3e0bddd19c702dea
|
||||
R 84ef00e957455655fffca42a9ae3db46
|
||||
U drh
|
||||
Z 688f46cf0060385046556b19c2a8341b
|
||||
Z e67f7b514a444aef3e345291ef72798f
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
113f9d10e347eeaa893ff8b47a461009e0b12589374b93cf3e0bddd19c702dea
|
||||
a1a8b85cdba64a17dcdcd4e6b42b872957cec2dc05b0ac34dfcd82f59344034b
|
||||
|
||||
+7
-7
@@ -8537,12 +8537,12 @@ int sqlite3Select(
|
||||
** for the next GROUP BY batch.
|
||||
*/
|
||||
sqlite3VdbeAddOp2(v, OP_Gosub, regOutputRow, addrOutputRow);
|
||||
VdbeComment((v, "output one row"));
|
||||
VdbeComment((v, "output one row of %d", p->selId));
|
||||
sqlite3ExprCodeMove(pParse, iBMem, iAMem, pGroupBy->nExpr);
|
||||
sqlite3VdbeAddOp2(v, OP_IfPos, iAbortFlag, addrEnd); VdbeCoverage(v);
|
||||
VdbeComment((v, "check abort flag"));
|
||||
sqlite3VdbeAddOp2(v, OP_Gosub, regReset, addrReset);
|
||||
VdbeComment((v, "reset accumulator"));
|
||||
VdbeComment((v, "reset accumulator %d", p->selId));
|
||||
|
||||
/* Update the aggregate accumulators based on the content of
|
||||
** the current row
|
||||
@@ -8550,7 +8550,7 @@ int sqlite3Select(
|
||||
sqlite3VdbeJumpHere(v, addr1);
|
||||
updateAccumulator(pParse, iUseFlag, pAggInfo, eDist);
|
||||
sqlite3VdbeAddOp2(v, OP_Integer, 1, iUseFlag);
|
||||
VdbeComment((v, "indicate data in accumulator"));
|
||||
VdbeComment((v, "indicate data in accumulator %d", p->selId));
|
||||
|
||||
/* End of the loop
|
||||
*/
|
||||
@@ -8567,7 +8567,7 @@ int sqlite3Select(
|
||||
/* Output the final row of result
|
||||
*/
|
||||
sqlite3VdbeAddOp2(v, OP_Gosub, regOutputRow, addrOutputRow);
|
||||
VdbeComment((v, "output final row"));
|
||||
VdbeComment((v, "output final row of %d", p->selId));
|
||||
|
||||
/* Jump over the subroutines
|
||||
*/
|
||||
@@ -8588,7 +8588,7 @@ int sqlite3Select(
|
||||
addrOutputRow = sqlite3VdbeCurrentAddr(v);
|
||||
sqlite3VdbeAddOp2(v, OP_IfPos, iUseFlag, addrOutputRow+2);
|
||||
VdbeCoverage(v);
|
||||
VdbeComment((v, "Groupby result generator entry point"));
|
||||
VdbeComment((v, "Groupby result generator entry point %d", p->selId));
|
||||
sqlite3VdbeAddOp1(v, OP_Return, regOutputRow);
|
||||
finalizeAggFunctions(pParse, pAggInfo);
|
||||
sqlite3ExprIfFalse(pParse, pHaving, addrOutputRow+1, SQLITE_JUMPIFNULL);
|
||||
@@ -8596,14 +8596,14 @@ int sqlite3Select(
|
||||
&sDistinct, pDest,
|
||||
addrOutputRow+1, addrSetAbort);
|
||||
sqlite3VdbeAddOp1(v, OP_Return, regOutputRow);
|
||||
VdbeComment((v, "end groupby result generator"));
|
||||
VdbeComment((v, "end groupby result generator %d", p->selId));
|
||||
|
||||
/* Generate a subroutine that will reset the group-by accumulator
|
||||
*/
|
||||
sqlite3VdbeResolveLabel(v, addrReset);
|
||||
resetAccumulator(pParse, pAggInfo);
|
||||
sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag);
|
||||
VdbeComment((v, "indicate accumulator empty"));
|
||||
VdbeComment((v, "indicate accumulator %d empty", p->selId));
|
||||
sqlite3VdbeAddOp1(v, OP_Return, regReset);
|
||||
|
||||
if( distFlag!=0 && eDist!=WHERE_DISTINCT_NOOP ){
|
||||
|
||||
Reference in New Issue
Block a user