]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Display VECTOR expressions in .wheretrace and .selecttrace debugging output.
authordrh <drh@noemail.net>
Thu, 18 Aug 2016 17:55:57 +0000 (17:55 +0000)
committerdrh <drh@noemail.net>
Thu, 18 Aug 2016 17:55:57 +0000 (17:55 +0000)
FossilOrigin-Name: 157347e2580e5078c4081d602e9d1a82d194e719

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

index 5dd783a4973a671bd7f73d7006127ca966d85d60..0491eac610b6ae0d08dc69da2593595ac4574b4d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Since\sthe\sTK_VECTOR\stoken\sis\snot\sactually\sused\sby\sthe\sparser,\smake\sit\san\nextra\stoken\scode\sadded\sby\sthe\stool/addopcodes.tcl\sscript\sduring\sparser\sbuild.
-D 2016-08-18T15:36:03.992
+C Display\sVECTOR\sexpressions\sin\s.wheretrace\sand\s.selecttrace\sdebugging\soutput.
+D 2016-08-18T17:55:57.954
 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a
@@ -389,7 +389,7 @@ F src/shell.c 79dda477be6c96eba6e952a934957ad36f87acc7
 F src/sqlite.h.in 0f7580280d1b009b507d8beec1ff0f197ba0cc99
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae
-F src/sqliteInt.h 1b51d9e1ae63476fbe69423d531afdefab8aa18f
+F src/sqliteInt.h f4079dcc83ec216d34531792626206a1a35463bc
 F src/sqliteLimit.h c0373387c287c8d0932510b5547ecde31b5da247
 F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
 F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9
@@ -444,7 +444,7 @@ F src/test_windirent.h b12055cab6227f7be10f5c19296f67c60cc5e2a5
 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
 F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
 F src/tokenize.c 78c8085bc7af1922aa687f0f4bbd716821330de5
-F src/treeview.c c56d6ddbed564efda746236b35bcbb8238daac4b
+F src/treeview.c 0ec6101f55829005fae5f83d33c666224a275e1b
 F src/trigger.c 11e20b3b12c847b3b9055594c0f1631266bb53fc
 F src/update.c 8179e699dbd45b92934fd02d3d8e3732e8da8802
 F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
@@ -1516,7 +1516,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 4768a1066cb9c7627064d7efec44188d6755cb03
-R ad89bbe968192719b16d3d08af2d0d65
+P b40b202c1f82808d2240e87b22f1e78b2208cb26
+R 977869bee47fcdc239ba588f810a1009
 U drh
-Z f8279b18447d0a73aa27340aaf051f41
+Z 61690ef4bbd764846f05c0b7918f3dcb
index 790d0fe8298027eba9614d4d32859ca8973c9622..051933d3adb2067e3ffce2892aa8015500ff376d 100644 (file)
@@ -1 +1 @@
-b40b202c1f82808d2240e87b22f1e78b2208cb26
\ No newline at end of file
+157347e2580e5078c4081d602e9d1a82d194e719
\ No newline at end of file
index f1d29c643e8e6168f17aa40b0136d7a349fa1cd2..0c5fb9ce86e4790cefa6c1774a369b6b3e1916cf 100644 (file)
@@ -3513,6 +3513,7 @@ char *sqlite3VMPrintf(sqlite3*,const char*, va_list);
 
 #if defined(SQLITE_DEBUG)
   void sqlite3TreeViewExpr(TreeView*, const Expr*, u8);
+  void sqlite3TreeViewBareExprList(TreeView*, const ExprList*, const char*);
   void sqlite3TreeViewExprList(TreeView*, const ExprList*, u8, const char*);
   void sqlite3TreeViewSelect(TreeView*, const Select*, u8);
   void sqlite3TreeViewWith(TreeView*, const With*, u8);
index 27996d46d7773e357c53227c56a895f5278f4fbe..6101af5771415ea35ebbc2fb2f01b6cecc8e7476 100644 (file)
@@ -451,6 +451,10 @@ void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){
       sqlite3TreeViewExpr(pView, pExpr->pRight, 0);
       break;
     }
+    case TK_VECTOR: {
+      sqlite3TreeViewBareExprList(pView, pExpr->x.pList, "VECTOR");
+      break;
+    }
     default: {
       sqlite3TreeViewLine(pView, "op=%d", pExpr->op);
       break;
@@ -467,21 +471,20 @@ void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){
   sqlite3TreeViewPop(pView);
 }
 
+
 /*
 ** Generate a human-readable explanation of an expression list.
 */
-void sqlite3TreeViewExprList(
+void sqlite3TreeViewBareExprList(
   TreeView *pView,
   const ExprList *pList,
-  u8 moreToFollow,
   const char *zLabel
 ){
-  int i;
-  pView = sqlite3TreeViewPush(pView, moreToFollow);
   if( zLabel==0 || zLabel[0]==0 ) zLabel = "LIST";
   if( pList==0 ){
     sqlite3TreeViewLine(pView, "%s (empty)", zLabel);
   }else{
+    int i;
     sqlite3TreeViewLine(pView, "%s", zLabel);
     for(i=0; i<pList->nExpr; i++){
       int j = pList->a[i].u.x.iOrderByCol;
@@ -493,6 +496,15 @@ void sqlite3TreeViewExprList(
       if( j ) sqlite3TreeViewPop(pView);
     }
   }
+}
+void sqlite3TreeViewExprList(
+  TreeView *pView,
+  const ExprList *pList,
+  u8 moreToFollow,
+  const char *zLabel
+){
+  pView = sqlite3TreeViewPush(pView, moreToFollow);
+  sqlite3TreeViewBareExprList(pView, pList, zLabel);
   sqlite3TreeViewPop(pView);
 }