SQLite

Check-in [a635681781]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a formatting issue in the TreeView output for bare expression lists.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: a6356817815fe986c4d89475194e0537ebd46582d6df1034482bf08521182bdf
User & Date: drh 2018-04-23 20:04:38.377
Context
2018-04-23
20:38
Fix a problem in sqlite3ExprCompare() associated with UPSERT. (check-in: 67d0b2c152 user: drh tags: trunk)
20:04
Fix a formatting issue in the TreeView output for bare expression lists. (check-in: a635681781 user: drh tags: trunk)
18:38
Add the ".imposter off" variant of the ".imposter" dot-command in the CLI. (check-in: d3dad06ff1 user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/treeview.c.
58
59
60
61
62
63
64

65
66
67
68
69






70
71
72
73
74
75
76
58
59
60
61
62
63
64
65





66
67
68
69
70
71
72
73
74
75
76
77
78







+
-
-
-
-
-
+
+
+
+
+
+







  sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0);
  if( p ){
    for(i=0; i<p->iLevel && i<sizeof(p->bLine)-1; i++){
      sqlite3StrAccumAppend(&acc, p->bLine[i] ? "|   " : "    ", 4);
    }
    sqlite3StrAccumAppend(&acc, p->bLine[i] ? "|-- " : "'-- ", 4);
  }
  if( zFormat!=0 ){
  va_start(ap, zFormat);
  sqlite3VXPrintf(&acc, zFormat, ap);
  va_end(ap);
  assert( acc.nChar>0 );
  if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1);
    va_start(ap, zFormat);
    sqlite3VXPrintf(&acc, zFormat, ap);
    va_end(ap);
    assert( acc.nChar>0 );
    sqlite3StrAccumAppend(&acc, "\n", 1);
  }
  sqlite3StrAccumFinish(&acc);
  fprintf(stdout,"%s", zBuf);
  fflush(stdout);
}

/*
** Shorthand for starting a new tree item that consists of a single label
532
533
534
535
536
537
538

539
540

541
542
543
544
545
546
547
548












549
550
551
552
553
554
555
534
535
536
537
538
539
540
541
542

543








544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562







+

-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+







    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;
      char *zName = pList->a[i].zName;
      int moreToFollow = i<pList->nExpr - 1;
      if( j || zName ){
        sqlite3TreeViewPush(pView, 0);
        sqlite3TreeViewPush(pView, moreToFollow);
      }
      if( zName ){
        sqlite3TreeViewLine(pView, "AS %s", zName);
      }
      if( j ){
        sqlite3TreeViewLine(pView, "iOrderByCol=%d", j);
      }
      sqlite3TreeViewExpr(pView, pList->a[i].pExpr, i<pList->nExpr-1);
        moreToFollow = 0;
        sqlite3TreeViewLine(pView, 0);
        if( zName ){
          fprintf(stdout, "AS %s ", zName);
        }
        if( j ){
          fprintf(stdout, "iOrderByCol=%d", j);
        }
        fprintf(stdout, "\n");
        fflush(stdout);
      }
      sqlite3TreeViewExpr(pView, pList->a[i].pExpr, moreToFollow);
      if( j || zName ){
        sqlite3TreeViewPop(pView);
      }
    }
  }
}
void sqlite3TreeViewExprList(