1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Rename debugging defines and variables from SELECTTRACE to TREETRACE (and

similar) since the functionality has how expanded to include data structures
beyond SELECT statements.  Should not affect deliverable builds.

FossilOrigin-Name: 393fa32e188a017f431372b54037cb31e885030542f00d0bfd59da9d9db5c014
This commit is contained in:
drh
2022-04-06 11:08:38 +00:00
parent f8ef2dbd7b
commit 5e431bead8
11 changed files with 71 additions and 68 deletions

View File

@@ -1,5 +1,5 @@
C Add\sadditional\stree\sdisplay\sroutines\sfor\sDELETE\sand\sUPDATE.\s\sNo\schanges\nto\sdeliverable\scode. C Rename\sdebugging\sdefines\sand\svariables\sfrom\sSELECTTRACE\sto\sTREETRACE\s(and\nsimilar)\ssince\sthe\sfunctionality\shas\show\sexpanded\sto\sinclude\sdata\sstructures\nbeyond\sSELECT\sstatements.\s\sShould\snot\saffect\sdeliverable\sbuilds.
D 2022-04-06T10:37:44.925 D 2022-04-06T11:08:38.679
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -502,21 +502,21 @@ F src/ctime.c 2cce39df1a13e05b7633e6d21b651f21492471f991dd7b323a4ee4e7b7f0b7f1
F src/date.c 15082566229d4b1e5f24fdb490bf9bcc68824b911d70e3573ef075a1b9e2d26f F src/date.c 15082566229d4b1e5f24fdb490bf9bcc68824b911d70e3573ef075a1b9e2d26f
F src/dbpage.c a70be9a4879ac5392673a1050d526a72b8b2f9938df7049f65348566a2637db3 F src/dbpage.c a70be9a4879ac5392673a1050d526a72b8b2f9938df7049f65348566a2637db3
F src/dbstat.c 861e08690fcb0f2ee1165eff0060ea8d4f3e2ea10f80dab7d32ad70443a6ff2d F src/dbstat.c 861e08690fcb0f2ee1165eff0060ea8d4f3e2ea10f80dab7d32ad70443a6ff2d
F src/delete.c 0052a340726b2521fedf05e0944a3d36110d82c66b33618068ce962bb8004a38 F src/delete.c f9e765869d4eb1bb639df0d77a8eda36bf064e83d21777b1ea772cac66786df5
F src/expr.c 3cdb00b6c15f815c94836e7b4474b675155d1279e64804f6ab5816188a9b05b6 F src/expr.c 3cdb00b6c15f815c94836e7b4474b675155d1279e64804f6ab5816188a9b05b6
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 94927f9b46d72a9cb858c208febf04ceb0a3270c5fa5fd0b7f436cf16e09f72a F src/fkey.c 94927f9b46d72a9cb858c208febf04ceb0a3270c5fa5fd0b7f436cf16e09f72a
F src/func.c a3407a6fbb0d4088d8d502e46f0ace63e0aeae7467ae23a9ca9815bbf9239761 F src/func.c a3407a6fbb0d4088d8d502e46f0ace63e0aeae7467ae23a9ca9815bbf9239761
F src/global.c 75deb064a71e1db60c8972a660a84f4e6d805c8f0463299a18e30ea527f4a650 F src/global.c e83ee571b79ee3adc32e380cf554cf1254bc43763d23786c71721fbcdfbbb965
F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19 F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51 F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51
F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144 F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
F src/insert.c f2793e5a2b1484472c025fc80a5a2d97d5098498c150157f25aea0672763cab0 F src/insert.c 1e76792fef634bc84dfc79080e632fe5bf833fadb0777510785c6a8fc13e5e8c
F src/json.c 7749b98c62f691697c7ee536b570c744c0583cab4a89200fdd0fc2aa8cc8cbd6 F src/json.c 7749b98c62f691697c7ee536b570c744c0583cab4a89200fdd0fc2aa8cc8cbd6
F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
F src/loadext.c 2ecb1441f9b1c22e9e022ee0776e67d259facf34b56ba892b206f0a294ee6f8c F src/loadext.c 2ecb1441f9b1c22e9e022ee0776e67d259facf34b56ba892b206f0a294ee6f8c
F src/main.c 89dfd569b4fbcab65281b3c6d636b887b2cb23cbaa16f8c6b67062862144c927 F src/main.c db08e3ebd5e1802ab4d4cac5dfa6ae0a12058c51345a90126146dd6010b32593
F src/malloc.c fec841aa0a0400a6f7d20706178a5d8e8219a6bf562b6fe712c17f6c26813266 F src/malloc.c fec841aa0a0400a6f7d20706178a5d8e8219a6bf562b6fe712c17f6c26813266
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@ -552,17 +552,17 @@ F src/printf.c 05d8dfd2018bc4fc3ddb8b37eb97ccef7abf985643fa1caebdcf2916ca90fa32
F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
F src/resolve.c ea935b87d6fb36c78b70cdc7b28561dc8f33f2ef37048389549c7b5ef9b0ba5e F src/resolve.c ea935b87d6fb36c78b70cdc7b28561dc8f33f2ef37048389549c7b5ef9b0ba5e
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
F src/select.c c366c05e48e836ea04f8ecefb9c1225745dc250c3f01bdb39e9cbb0dc25e3610 F src/select.c bf46b8fb1f095651ba26e5a4a63b0fab51367794169ba3c802c002f919117e6c
F src/shell.c.in 24d1082d275db252379629c2b3694dbfa0f8886530b0f6f9896d52e456afe510 F src/shell.c.in 18832612e74c92bbd25d88e1f92685f66589262f68cca1001d2a43bd6dd0ed60
F src/sqlite.h.in 2a35f62185eb5e7ecc64a2f68442b538ce9be74f80f28a00abc24837edcf1c17 F src/sqlite.h.in 2a35f62185eb5e7ecc64a2f68442b538ce9be74f80f28a00abc24837edcf1c17
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h f49e28c25bd941e79794db5415fdf7b202deb3bc072ed6f1ed273d578703684e F src/sqlite3ext.h f49e28c25bd941e79794db5415fdf7b202deb3bc072ed6f1ed273d578703684e
F src/sqliteInt.h 1edf4da9aa846479e9217a154cd94d3aeef49b8bcc813c0e573681c648c28aca F src/sqliteInt.h eaecce0fe9ab773594281c61dfeb4b6f561c23d8e79778cc89b40b0a6f862750
F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657 F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
F src/status.c 4a3da6d77eeb3531cb0dbdf7047772a2a1b99f98c69e90ce009c75fe6328b2c0 F src/status.c 4a3da6d77eeb3531cb0dbdf7047772a2a1b99f98c69e90ce009c75fe6328b2c0
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
F src/tclsqlite.c 1f6673991147bc2cecc08a40d22f9803b84c805b24b499fe727f392256f73474 F src/tclsqlite.c 1f6673991147bc2cecc08a40d22f9803b84c805b24b499fe727f392256f73474
F src/test1.c 87fda59eea3ac1eba1baef37c1967565cb1b8d6d264649f2e57f252ca5989914 F src/test1.c 1356984e97bff07e4a8cc3863e892f05b3348678a74783bb6f350b76316736f1
F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5 F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644 F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
F src/test4.c 7c4420e01c577b5c4add2cb03119743b1a357543d347773b9e717195ea967159 F src/test4.c 7c4420e01c577b5c4add2cb03119743b1a357543d347773b9e717195ea967159
@@ -619,7 +619,7 @@ F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
F src/tokenize.c a38f52058b517929e264094abd0b5fd1e8e145a1aa43bc6f6a72ae5218f96c98 F src/tokenize.c a38f52058b517929e264094abd0b5fd1e8e145a1aa43bc6f6a72ae5218f96c98
F src/treeview.c 7e95d0dcf5e3a29272c1f1f84a86cb90f0acc1e7b927d53ac80af7b120d1da15 F src/treeview.c 7e95d0dcf5e3a29272c1f1f84a86cb90f0acc1e7b927d53ac80af7b120d1da15
F src/trigger.c 8caa0baf1b18522863cf0fd611ef483962cfa50155ca82ad43e63b20f863a683 F src/trigger.c 8caa0baf1b18522863cf0fd611ef483962cfa50155ca82ad43e63b20f863a683
F src/update.c 92f3801f9561c41dcc07df990aaba383759d14122fd7c53db016370d061362c1 F src/update.c c79e4ba491dbce7e0bd8995aeccbbf453843c763a0670c7a3414094610b0d71f
F src/upsert.c 8789047a8f0a601ea42fa0256d1ba3190c13746b6ba940fe2d25643a7e991937 F src/upsert.c 8789047a8f0a601ea42fa0256d1ba3190c13746b6ba940fe2d25643a7e991937
F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
F src/util.c 602fe229f32a96ceccae4f40824129669582096f7c355f53dbac156c9fecef23 F src/util.c 602fe229f32a96ceccae4f40824129669582096f7c355f53dbac156c9fecef23
@@ -1945,8 +1945,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P f3084122039bcb30c8617f5f432009a49be8b488235850a1f10ef862c91560b2 P fbd288ff3d4ea47cd324b5952e7754a465901844f2d950f0860d4488d5b6eb9f
R 6bd4728818ef5c3b838d1c52b662f0fa R a8535a7f26ac80cc50df61020309f93a
U drh U drh
Z 0924497f59dfb282d02a01f160c46ce4 Z c92d34f20cea24a5723ef3e12b37f708
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@@ -1 +1 @@
fbd288ff3d4ea47cd324b5952e7754a465901844f2d950f0860d4488d5b6eb9f 393fa32e188a017f431372b54037cb31e885030542f00d0bfd59da9d9db5c014

View File

@@ -300,8 +300,8 @@ void sqlite3DeleteFrom(
assert( db->mallocFailed==0 ); assert( db->mallocFailed==0 );
assert( pTabList->nSrc==1 ); assert( pTabList->nSrc==1 );
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x10000 ){ if( sqlite3TreeTrace & 0x10000 ){
sqlite3TreeViewDelete(0, pParse->pWith, pTabList, pWhere, sqlite3TreeViewDelete(0, pParse->pWith, pTabList, pWhere,
pOrderBy, pLimit); pOrderBy, pLimit);
} }

View File

@@ -347,7 +347,7 @@ int sqlite3PendingByte = 0x40000000;
/* /*
** Tracing flags set by SQLITE_TESTCTRL_TRACEFLAGS. ** Tracing flags set by SQLITE_TESTCTRL_TRACEFLAGS.
*/ */
u32 sqlite3SelectTrace = 0; u32 sqlite3TreeTrace = 0;
u32 sqlite3WhereTrace = 0; u32 sqlite3WhereTrace = 0;
#include "opcodes.h" #include "opcodes.h"

View File

@@ -722,8 +722,8 @@ void sqlite3Insert(
assert( db->mallocFailed==0 ); assert( db->mallocFailed==0 );
dest.iSDParm = 0; /* Suppress a harmless compiler warning */ dest.iSDParm = 0; /* Suppress a harmless compiler warning */
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x10000 ){ if( sqlite3TreeTrace & 0x10000 ){
sqlite3TreeViewInsert(0, pParse->pWith, pTabList, pColumn, pSelect, sqlite3TreeViewInsert(0, pParse->pWith, pTabList, pColumn, pSelect,
onError, pUpsert); onError, pUpsert);
} }

View File

@@ -4358,8 +4358,8 @@ int sqlite3_test_control(int op, ...){
** **
** "ptr" is a pointer to a u32. ** "ptr" is a pointer to a u32.
** **
** op==0 Store the current sqlite3SelectTrace in *ptr ** op==0 Store the current sqlite3TreeTrace in *ptr
** op==1 Set sqlite3SelectTrace to the value *ptr ** op==1 Set sqlite3TreeTrace to the value *ptr
** op==3 Store the current sqlite3WhereTrace in *ptr ** op==3 Store the current sqlite3WhereTrace in *ptr
** op==3 Set sqlite3WhereTrace to the value *ptr ** op==3 Set sqlite3WhereTrace to the value *ptr
*/ */
@@ -4367,10 +4367,10 @@ int sqlite3_test_control(int op, ...){
int opTrace = va_arg(ap, int); int opTrace = va_arg(ap, int);
u32 *ptr = va_arg(ap, u32*); u32 *ptr = va_arg(ap, u32*);
switch( opTrace ){ switch( opTrace ){
case 0: *ptr = sqlite3SelectTrace; break; case 0: *ptr = sqlite3TreeTrace; break;
case 1: sqlite3SelectTrace = *ptr; break; case 1: sqlite3TreeTrace = *ptr; break;
case 2: *ptr = sqlite3WhereTrace; break; case 2: *ptr = sqlite3WhereTrace; break;
case 3: sqlite3WhereTrace = *ptr; break; case 3: sqlite3WhereTrace = *ptr; break;
} }
break; break;
} }

View File

@@ -4457,8 +4457,8 @@ static int flattenSubquery(
sqlite3WalkSelect(&w,pSub1); sqlite3WalkSelect(&w,pSub1);
sqlite3SelectDelete(db, pSub1); sqlite3SelectDelete(db, pSub1);
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x100 ){ if( sqlite3TreeTrace & 0x100 ){
SELECTTRACE(0x100,pParse,p,("After flattening:\n")); SELECTTRACE(0x100,pParse,p,("After flattening:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6157,8 +6157,8 @@ static void havingToWhere(Parse *pParse, Select *p){
sWalker.xExprCallback = havingToWhereExprCb; sWalker.xExprCallback = havingToWhereExprCb;
sWalker.u.pSelect = p; sWalker.u.pSelect = p;
sqlite3WalkExpr(&sWalker, p->pHaving); sqlite3WalkExpr(&sWalker, p->pHaving);
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sWalker.eCode && (sqlite3SelectTrace & 0x100)!=0 ){ if( sWalker.eCode && (sqlite3TreeTrace & 0x100)!=0 ){
SELECTTRACE(0x100,pParse,p,("Move HAVING terms into WHERE:\n")); SELECTTRACE(0x100,pParse,p,("Move HAVING terms into WHERE:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6290,8 +6290,8 @@ static int countOfViewOptimization(Parse *pParse, Select *p){
p->pEList->a[0].pExpr = pExpr; p->pEList->a[0].pExpr = pExpr;
p->selFlags &= ~SF_Aggregate; p->selFlags &= ~SF_Aggregate;
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x400 ){ if( sqlite3TreeTrace & 0x400 ){
SELECTTRACE(0x400,pParse,p,("After count-of-view optimization:\n")); SELECTTRACE(0x400,pParse,p,("After count-of-view optimization:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6344,9 +6344,9 @@ int sqlite3Select(
} }
assert( db->mallocFailed==0 ); assert( db->mallocFailed==0 );
if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1; if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1;
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->addrExplain)); SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->addrExplain));
if( sqlite3SelectTrace & 0x100 ){ if( sqlite3TreeTrace & 0x100 ){
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
#endif #endif
@@ -6361,9 +6361,9 @@ int sqlite3Select(
pDest->eDest==SRT_DistQueue || pDest->eDest==SRT_DistFifo ); pDest->eDest==SRT_DistQueue || pDest->eDest==SRT_DistFifo );
/* All of these destinations are also able to ignore the ORDER BY clause */ /* All of these destinations are also able to ignore the ORDER BY clause */
if( p->pOrderBy ){ if( p->pOrderBy ){
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
SELECTTRACE(1,pParse,p, ("dropping superfluous ORDER BY:\n")); SELECTTRACE(1,pParse,p, ("dropping superfluous ORDER BY:\n"));
if( sqlite3SelectTrace & 0x100 ){ if( sqlite3TreeTrace & 0x100 ){
sqlite3TreeViewExprList(0, p->pOrderBy, 0, "ORDERBY"); sqlite3TreeViewExprList(0, p->pOrderBy, 0, "ORDERBY");
} }
#endif #endif
@@ -6382,8 +6382,8 @@ int sqlite3Select(
} }
assert( db->mallocFailed==0 ); assert( db->mallocFailed==0 );
assert( p->pEList!=0 ); assert( p->pEList!=0 );
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x104 ){ if( sqlite3TreeTrace & 0x104 ){
SELECTTRACE(0x104,pParse,p, ("after name resolution:\n")); SELECTTRACE(0x104,pParse,p, ("after name resolution:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6427,8 +6427,8 @@ int sqlite3Select(
assert( pParse->nErr ); assert( pParse->nErr );
goto select_end; goto select_end;
} }
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( p->pWin && (sqlite3SelectTrace & 0x108)!=0 ){ if( p->pWin && (sqlite3TreeTrace & 0x108)!=0 ){
SELECTTRACE(0x104,pParse,p, ("after window rewrite:\n")); SELECTTRACE(0x104,pParse,p, ("after window rewrite:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6566,9 +6566,9 @@ int sqlite3Select(
*/ */
if( p->pPrior ){ if( p->pPrior ){
rc = multiSelect(pParse, p, pDest); rc = multiSelect(pParse, p, pDest);
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
SELECTTRACE(0x1,pParse,p,("end compound-select processing\n")); SELECTTRACE(0x1,pParse,p,("end compound-select processing\n"));
if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ if( (sqlite3TreeTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
#endif #endif
@@ -6587,8 +6587,8 @@ int sqlite3Select(
&& OptimizationEnabled(db, SQLITE_PropagateConst) && OptimizationEnabled(db, SQLITE_PropagateConst)
&& propagateConstants(pParse, p) && propagateConstants(pParse, p)
){ ){
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x100 ){ if( sqlite3TreeTrace & 0x100 ){
SELECTTRACE(0x100,pParse,p,("After constant propagation:\n")); SELECTTRACE(0x100,pParse,p,("After constant propagation:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6667,8 +6667,8 @@ int sqlite3Select(
&& pushDownWhereTerms(pParse, pSub, p->pWhere, pItem->iCursor, && pushDownWhereTerms(pParse, pSub, p->pWhere, pItem->iCursor,
(pItem->fg.jointype & JT_OUTER)!=0) (pItem->fg.jointype & JT_OUTER)!=0)
){ ){
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x100 ){ if( sqlite3TreeTrace & 0x100 ){
SELECTTRACE(0x100,pParse,p, SELECTTRACE(0x100,pParse,p,
("After WHERE-clause push-down into subquery %d:\n", pSub->selId)); ("After WHERE-clause push-down into subquery %d:\n", pSub->selId));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
@@ -6786,8 +6786,8 @@ int sqlite3Select(
pHaving = p->pHaving; pHaving = p->pHaving;
sDistinct.isTnct = (p->selFlags & SF_Distinct)!=0; sDistinct.isTnct = (p->selFlags & SF_Distinct)!=0;
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x400 ){ if( sqlite3TreeTrace & 0x400 ){
SELECTTRACE(0x400,pParse,p,("After all FROM-clause analysis:\n")); SELECTTRACE(0x400,pParse,p,("After all FROM-clause analysis:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -6823,8 +6823,8 @@ int sqlite3Select(
assert( sDistinct.isTnct ); assert( sDistinct.isTnct );
sDistinct.isTnct = 2; sDistinct.isTnct = 2;
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x400 ){ if( sqlite3TreeTrace & 0x400 ){
SELECTTRACE(0x400,pParse,p,("Transform DISTINCT into GROUP BY:\n")); SELECTTRACE(0x400,pParse,p,("Transform DISTINCT into GROUP BY:\n"));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
@@ -7076,8 +7076,8 @@ int sqlite3Select(
} }
pAggInfo->mxReg = pParse->nMem; pAggInfo->mxReg = pParse->nMem;
if( db->mallocFailed ) goto select_end; if( db->mallocFailed ) goto select_end;
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x400 ){ if( sqlite3TreeTrace & 0x400 ){
int ii; int ii;
SELECTTRACE(0x400,pParse,p,("After aggregate analysis %p:\n", pAggInfo)); SELECTTRACE(0x400,pParse,p,("After aggregate analysis %p:\n", pAggInfo));
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
@@ -7540,9 +7540,9 @@ select_end:
} }
#endif #endif
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
SELECTTRACE(0x1,pParse,p,("end processing\n")); SELECTTRACE(0x1,pParse,p,("end processing\n"));
if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ if( (sqlite3TreeTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){
sqlite3TreeViewSelect(0, p, 0); sqlite3TreeViewSelect(0, p, 0);
} }
#endif #endif

View File

@@ -3042,7 +3042,7 @@ static void explain_data_delete(ShellState *p){
} }
/* /*
** Disable and restore .wheretrace and .selecttrace settings. ** Disable and restore .wheretrace and .treetrace/.selecttrace settings.
*/ */
static unsigned int savedSelectTrace; static unsigned int savedSelectTrace;
static unsigned int savedWhereTrace; static unsigned int savedWhereTrace;
@@ -10113,7 +10113,9 @@ static int do_meta_command(char *zLine, ShellState *p){
} }
}else }else
if( c=='s' && n==11 && strncmp(azArg[0], "selecttrace", n)==0 ){ if( (c=='s' && n==11 && strncmp(azArg[0], "selecttrace", n)==0)
|| (c=='t' && n==9 && strncmp(azArg[0], "treetrace", n)==0)
){
unsigned int x = nArg>=2 ? (unsigned int)integerValue(azArg[1]) : 0xffffffff; unsigned int x = nArg>=2 ? (unsigned int)integerValue(azArg[1]) : 0xffffffff;
sqlite3_test_control(SQLITE_TESTCTRL_TRACEFLAGS, 1, &x); sqlite3_test_control(SQLITE_TESTCTRL_TRACEFLAGS, 1, &x);
}else }else

View File

@@ -1014,22 +1014,23 @@ typedef INT16_TYPE LogEst;
#endif #endif
/* /*
** SELECTTRACE_ENABLED will be either 1 or 0 depending on whether or not ** TREETRACE_ENABLED will be either 1 or 0 depending on whether or not
** the Select query generator tracing logic is turned on. ** the Abstract Syntax Tree tracing logic is turned on.
*/ */
#if !defined(SQLITE_AMALGAMATION) #if !defined(SQLITE_AMALGAMATION)
extern u32 sqlite3SelectTrace; extern u32 sqlite3TreeTrace;
#endif #endif
#if defined(SQLITE_DEBUG) \ #if defined(SQLITE_DEBUG) \
&& (defined(SQLITE_TEST) || defined(SQLITE_ENABLE_SELECTTRACE)) && (defined(SQLITE_TEST) || defined(SQLITE_ENABLE_SELECTTRACE) \
# define SELECTTRACE_ENABLED 1 || defined(SQLITE_ENABLE_TREETRACE))
# define TREETRACE_ENABLED 1
# define SELECTTRACE(K,P,S,X) \ # define SELECTTRACE(K,P,S,X) \
if(sqlite3SelectTrace&(K)) \ if(sqlite3TreeTrace&(K)) \
sqlite3DebugPrintf("%u/%d/%p: ",(S)->selId,(P)->addrExplain,(S)),\ sqlite3DebugPrintf("%u/%d/%p: ",(S)->selId,(P)->addrExplain,(S)),\
sqlite3DebugPrintf X sqlite3DebugPrintf X
#else #else
# define SELECTTRACE(K,P,S,X) # define SELECTTRACE(K,P,S,X)
# define SELECTTRACE_ENABLED 0 # define TREETRACE_ENABLED 0
#endif #endif
/* /*

View File

@@ -8908,9 +8908,9 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
(char*)&sqlite3_sync_count, TCL_LINK_INT); (char*)&sqlite3_sync_count, TCL_LINK_INT);
Tcl_LinkVar(interp, "sqlite_fullsync_count", Tcl_LinkVar(interp, "sqlite_fullsync_count",
(char*)&sqlite3_fullsync_count, TCL_LINK_INT); (char*)&sqlite3_fullsync_count, TCL_LINK_INT);
#if defined(SQLITE_ENABLE_SELECTTRACE) #if defined(SQLITE_ENABLE_TREETRACE)
Tcl_LinkVar(interp, "sqlite3_unsupported_selecttrace", Tcl_LinkVar(interp, "sqlite3_unsupported_treetrace",
(char*)&sqlite3SelectTrace, TCL_LINK_INT); (char*)&sqlite3TreeTrace, TCL_LINK_INT);
#endif #endif
#if defined(SQLITE_ENABLE_FTS3) && defined(SQLITE_TEST) #if defined(SQLITE_ENABLE_FTS3) && defined(SQLITE_TEST)
Tcl_LinkVar(interp, "sqlite_fts3_enable_parentheses", Tcl_LinkVar(interp, "sqlite_fts3_enable_parentheses",

View File

@@ -353,8 +353,8 @@ void sqlite3Update(
} }
assert( db->mallocFailed==0 ); assert( db->mallocFailed==0 );
#if SELECTTRACE_ENABLED #if TREETRACE_ENABLED
if( sqlite3SelectTrace & 0x10000 ){ if( sqlite3TreeTrace & 0x10000 ){
sqlite3TreeViewUpdate(0, pParse->pWith, pTabList, pChanges, pWhere, sqlite3TreeViewUpdate(0, pParse->pWith, pTabList, pChanges, pWhere,
onError, pOrderBy, pLimit, pUpsert); onError, pOrderBy, pLimit, pUpsert);
} }