SQLite

Check-in [0efc6859d1]
Login

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

Overview
Comment:Draw the TreeView debugging graphs using unicode box-drawing characters.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | box-character-graph
Files: files | file ages | folders
SHA1: 0efc6859d104e1b12ec4bce5bb6db4e91f0837b5
User & Date: drh 2014-09-30 21:24:28.680
Context
2014-09-30
21:24
Draw the TreeView debugging graphs using unicode box-drawing characters. (Closed-Leaf check-in: 0efc6859d1 user: drh tags: box-character-graph)
19:04
Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. (check-in: 5ce05757aa user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/printf.c.
1096
1097
1098
1099
1100
1101
1102



1103
1104


1105



1106
1107
1108
1109
1110
1111
1112
  int i;
  StrAccum acc;
  char zBuf[500];
  sqlite3StrAccumInit(&acc, zBuf, sizeof(zBuf), 0);
  acc.useMalloc = 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);



  }
  va_start(ap, zFormat);
  sqlite3VXPrintf(&acc, 0, zFormat, ap);
  va_end(ap);
  if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1);
  sqlite3StrAccumFinish(&acc);
  fprintf(stdout,"%s", zBuf);







>
>
>
|
|
>
>
|
>
>
>







1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
  int i;
  StrAccum acc;
  char zBuf[500];
  sqlite3StrAccumInit(&acc, zBuf, sizeof(zBuf), 0);
  acc.useMalloc = 0;
  if( p ){
    for(i=0; i<p->iLevel && i<sizeof(p->bLine)-1; i++){
      if( p->bLine[i] ){
        sqlite3StrAccumAppend(&acc, "\342\224\202  ", 5);
      }else{
        sqlite3StrAccumAppend(&acc, "   ", 3);
      }
    }
    if( p->bLine[i] ){
      sqlite3StrAccumAppend(&acc, "\342\224\234\342\224\200 ", 7);
    }else{
      sqlite3StrAccumAppend(&acc, "\342\224\224\342\224\200 ", 7);
    }
  }
  va_start(ap, zFormat);
  sqlite3VXPrintf(&acc, 0, zFormat, ap);
  va_end(ap);
  if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1);
  sqlite3StrAccumFinish(&acc);
  fprintf(stdout,"%s", zBuf);