** Display and reset the EXPLAIN QUERY PLAN data */
| 12060 | ** Display and reset the EXPLAIN QUERY PLAN data |
| 12061 | */ |
| 12062 | static void eqp_render(ShellState *p){ |
| 12063 | EQPGraphRow *pRow = p->sGraph.pRow; |
| 12064 | if( pRow ){ |
| 12065 | if( pRow->zText[0]=='-' ){ |
| 12066 | if( pRow->pNext==0 ){ |
| 12067 | eqp_reset(p); |
| 12068 | return; |
| 12069 | } |
| 12070 | utf8_printf(p->out, "%s\n", pRow->zText+3); |
| 12071 | p->sGraph.pRow = pRow->pNext; |
| 12072 | sqlite3_free(pRow); |
| 12073 | }else{ |
| 12074 | utf8_printf(p->out, "QUERY PLAN\n"); |
| 12075 | } |
| 12076 | p->sGraph.zPrefix[0] = 0; |
| 12077 | eqp_render_level(p, 0); |
| 12078 | eqp_reset(p); |
| 12079 | } |
| 12080 | } |
| 12081 | |
| 12082 | #ifndef SQLITE_OMIT_PROGRESS_CALLBACK |
| 12083 | /* |
no test coverage detected