github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/views/vdatabase/Statement.html.go (about)

     1  // Code generated by qtc from "Statement.html". DO NOT EDIT.
     2  // See https://github.com/valyala/quicktemplate for details.
     3  
     4  // <!-- Content managed by Project Forge, see [projectforge.md] for details. -->
     5  
     6  //line views/vdatabase/Statement.html:2
     7  package vdatabase
     8  
     9  //line views/vdatabase/Statement.html:2
    10  import (
    11  	"github.com/kyleu/dbaudit/app"
    12  	"github.com/kyleu/dbaudit/app/controller/cutil"
    13  	"github.com/kyleu/dbaudit/app/lib/database"
    14  	"github.com/kyleu/dbaudit/app/util"
    15  	"github.com/kyleu/dbaudit/views/components"
    16  	"github.com/kyleu/dbaudit/views/components/view"
    17  	"github.com/kyleu/dbaudit/views/layout"
    18  )
    19  
    20  //line views/vdatabase/Statement.html:12
    21  import (
    22  	qtio422016 "io"
    23  
    24  	qt422016 "github.com/valyala/quicktemplate"
    25  )
    26  
    27  //line views/vdatabase/Statement.html:12
    28  var (
    29  	_ = qtio422016.Copy
    30  	_ = qt422016.AcquireByteBuffer
    31  )
    32  
    33  //line views/vdatabase/Statement.html:12
    34  type Statement struct {
    35  	layout.Basic
    36  	Statement *database.DebugStatement
    37  }
    38  
    39  //line views/vdatabase/Statement.html:17
    40  func (p *Statement) StreamBody(qw422016 *qt422016.Writer, as *app.State, ps *cutil.PageState) {
    41  //line views/vdatabase/Statement.html:17
    42  	qw422016.N().S(`
    43  `)
    44  //line views/vdatabase/Statement.html:18
    45  	s := p.Statement
    46  
    47  //line views/vdatabase/Statement.html:18
    48  	qw422016.N().S(`  <div class="card">
    49      <div class="right">`)
    50  //line views/vdatabase/Statement.html:20
    51  	qw422016.E().S(util.MicrosToMillis(s.Timing))
    52  //line views/vdatabase/Statement.html:20
    53  	qw422016.N().S(` elapsed</div>
    54      <h3>`)
    55  //line views/vdatabase/Statement.html:21
    56  	components.StreamSVGRefIcon(qw422016, `database`, ps)
    57  //line views/vdatabase/Statement.html:21
    58  	qw422016.N().S(`Statement [`)
    59  //line views/vdatabase/Statement.html:21
    60  	qw422016.N().D(p.Statement.Index)
    61  //line views/vdatabase/Statement.html:21
    62  	qw422016.N().S(`]</h3>
    63      <div class="right">`)
    64  //line views/vdatabase/Statement.html:22
    65  	qw422016.N().D(s.Count)
    66  //line views/vdatabase/Statement.html:22
    67  	qw422016.N().S(` rows returned</div>
    68      <em>`)
    69  //line views/vdatabase/Statement.html:23
    70  	qw422016.E().S(s.Message)
    71  //line views/vdatabase/Statement.html:23
    72  	qw422016.N().S(`</em>
    73  `)
    74  //line views/vdatabase/Statement.html:24
    75  	if s.Error != "" {
    76  //line views/vdatabase/Statement.html:24
    77  		qw422016.N().S(`    <div class="mt error">`)
    78  //line views/vdatabase/Statement.html:25
    79  		qw422016.E().S(s.Error)
    80  //line views/vdatabase/Statement.html:25
    81  		qw422016.N().S(`</div>
    82  `)
    83  //line views/vdatabase/Statement.html:26
    84  	}
    85  //line views/vdatabase/Statement.html:26
    86  	qw422016.N().S(`    <div class="mt">
    87        <ul class="accordion">
    88          <li>
    89            <input id="accordion-sql" type="checkbox" hidden="hidden" />
    90            <label for="accordion-sql">`)
    91  //line views/vdatabase/Statement.html:31
    92  	components.StreamExpandCollapse(qw422016, 3, ps)
    93  //line views/vdatabase/Statement.html:31
    94  	qw422016.N().S(` SQL</label>
    95            <div class="bd"><div><div>
    96              `)
    97  //line views/vdatabase/Statement.html:33
    98  	streamstatementSQL(qw422016, s)
    99  //line views/vdatabase/Statement.html:33
   100  	qw422016.N().S(`
   101            </div></div></div>
   102          </li>
   103  `)
   104  //line views/vdatabase/Statement.html:36
   105  	if len(s.Values) > 0 {
   106  //line views/vdatabase/Statement.html:36
   107  		qw422016.N().S(`        <li>
   108            <input id="accordion-values" type="checkbox" hidden="hidden" />
   109            <label for="accordion-values">`)
   110  //line views/vdatabase/Statement.html:39
   111  		components.StreamExpandCollapse(qw422016, 3, ps)
   112  //line views/vdatabase/Statement.html:39
   113  		qw422016.N().S(` Values</label>
   114            <div class="bd"><div><div>
   115              `)
   116  //line views/vdatabase/Statement.html:41
   117  		streamstatementValues(qw422016, s)
   118  //line views/vdatabase/Statement.html:41
   119  		qw422016.N().S(`
   120            </div></div></div>
   121          </li>
   122  `)
   123  //line views/vdatabase/Statement.html:44
   124  	}
   125  //line views/vdatabase/Statement.html:44
   126  	qw422016.N().S(`        <li>
   127            <input id="accordion-out" type="checkbox" hidden="hidden" />
   128            <label for="accordion-out">`)
   129  //line views/vdatabase/Statement.html:47
   130  	components.StreamExpandCollapse(qw422016, 3, ps)
   131  //line views/vdatabase/Statement.html:47
   132  	qw422016.N().S(` Result</label>
   133            <div class="bd"><div><div>
   134              `)
   135  //line views/vdatabase/Statement.html:49
   136  	streamstatementOut(qw422016, s)
   137  //line views/vdatabase/Statement.html:49
   138  	qw422016.N().S(`
   139            </div></div></div>
   140          </li>
   141  `)
   142  //line views/vdatabase/Statement.html:52
   143  	if len(s.Extra) > 0 {
   144  //line views/vdatabase/Statement.html:52
   145  		qw422016.N().S(`        <li>
   146            <input id="accordion-extra" type="checkbox" hidden="hidden" />
   147            <label for="accordion-extra">`)
   148  //line views/vdatabase/Statement.html:55
   149  		components.StreamExpandCollapse(qw422016, 3, ps)
   150  //line views/vdatabase/Statement.html:55
   151  		qw422016.N().S(` Query Plan</label>
   152            <div class="bd"><div><div>
   153              `)
   154  //line views/vdatabase/Statement.html:57
   155  		view.StreamMapArray(qw422016, s.Extra, nil, true, ps)
   156  //line views/vdatabase/Statement.html:57
   157  		qw422016.N().S(`
   158            </div></div></div>
   159          </li>
   160  `)
   161  //line views/vdatabase/Statement.html:60
   162  	}
   163  //line views/vdatabase/Statement.html:60
   164  	qw422016.N().S(`      </ul>
   165      </div>
   166    </div>
   167  `)
   168  //line views/vdatabase/Statement.html:64
   169  }
   170  
   171  //line views/vdatabase/Statement.html:64
   172  func (p *Statement) WriteBody(qq422016 qtio422016.Writer, as *app.State, ps *cutil.PageState) {
   173  //line views/vdatabase/Statement.html:64
   174  	qw422016 := qt422016.AcquireWriter(qq422016)
   175  //line views/vdatabase/Statement.html:64
   176  	p.StreamBody(qw422016, as, ps)
   177  //line views/vdatabase/Statement.html:64
   178  	qt422016.ReleaseWriter(qw422016)
   179  //line views/vdatabase/Statement.html:64
   180  }
   181  
   182  //line views/vdatabase/Statement.html:64
   183  func (p *Statement) Body(as *app.State, ps *cutil.PageState) string {
   184  //line views/vdatabase/Statement.html:64
   185  	qb422016 := qt422016.AcquireByteBuffer()
   186  //line views/vdatabase/Statement.html:64
   187  	p.WriteBody(qb422016, as, ps)
   188  //line views/vdatabase/Statement.html:64
   189  	qs422016 := string(qb422016.B)
   190  //line views/vdatabase/Statement.html:64
   191  	qt422016.ReleaseByteBuffer(qb422016)
   192  //line views/vdatabase/Statement.html:64
   193  	return qs422016
   194  //line views/vdatabase/Statement.html:64
   195  }
   196  
   197  //line views/vdatabase/Statement.html:66
   198  func streamstatementSQL(qw422016 *qt422016.Writer, s *database.DebugStatement) {
   199  //line views/vdatabase/Statement.html:66
   200  	qw422016.N().S(`
   201  `)
   202  //line views/vdatabase/Statement.html:67
   203  	out, _ := cutil.FormatLang(s.SQL, "sql")
   204  
   205  //line views/vdatabase/Statement.html:67
   206  	qw422016.N().S(`  `)
   207  //line views/vdatabase/Statement.html:68
   208  	qw422016.N().S(out)
   209  //line views/vdatabase/Statement.html:68
   210  	qw422016.N().S(`
   211  `)
   212  //line views/vdatabase/Statement.html:69
   213  }
   214  
   215  //line views/vdatabase/Statement.html:69
   216  func writestatementSQL(qq422016 qtio422016.Writer, s *database.DebugStatement) {
   217  //line views/vdatabase/Statement.html:69
   218  	qw422016 := qt422016.AcquireWriter(qq422016)
   219  //line views/vdatabase/Statement.html:69
   220  	streamstatementSQL(qw422016, s)
   221  //line views/vdatabase/Statement.html:69
   222  	qt422016.ReleaseWriter(qw422016)
   223  //line views/vdatabase/Statement.html:69
   224  }
   225  
   226  //line views/vdatabase/Statement.html:69
   227  func statementSQL(s *database.DebugStatement) string {
   228  //line views/vdatabase/Statement.html:69
   229  	qb422016 := qt422016.AcquireByteBuffer()
   230  //line views/vdatabase/Statement.html:69
   231  	writestatementSQL(qb422016, s)
   232  //line views/vdatabase/Statement.html:69
   233  	qs422016 := string(qb422016.B)
   234  //line views/vdatabase/Statement.html:69
   235  	qt422016.ReleaseByteBuffer(qb422016)
   236  //line views/vdatabase/Statement.html:69
   237  	return qs422016
   238  //line views/vdatabase/Statement.html:69
   239  }
   240  
   241  //line views/vdatabase/Statement.html:71
   242  func streamstatementValues(qw422016 *qt422016.Writer, s *database.DebugStatement) {
   243  //line views/vdatabase/Statement.html:71
   244  	qw422016.N().S(`
   245    <div class="overflow full-width">
   246      <table>
   247        <thead>
   248          <tr>
   249            <th>#</th>
   250            <th>Values</th>
   251          </tr>
   252        </thead>
   253        <tbody>
   254  `)
   255  //line views/vdatabase/Statement.html:81
   256  	for idx, v := range s.Values {
   257  //line views/vdatabase/Statement.html:81
   258  		qw422016.N().S(`        <tr>
   259            <td>`)
   260  //line views/vdatabase/Statement.html:83
   261  		qw422016.N().D(idx + 1)
   262  //line views/vdatabase/Statement.html:83
   263  		qw422016.N().S(`</td>
   264            <td>`)
   265  //line views/vdatabase/Statement.html:84
   266  		components.StreamJSON(qw422016, v)
   267  //line views/vdatabase/Statement.html:84
   268  		qw422016.N().S(`</td>
   269          </tr>
   270  `)
   271  //line views/vdatabase/Statement.html:86
   272  	}
   273  //line views/vdatabase/Statement.html:86
   274  	qw422016.N().S(`      </tbody>
   275      </table>
   276    </div>
   277  `)
   278  //line views/vdatabase/Statement.html:90
   279  }
   280  
   281  //line views/vdatabase/Statement.html:90
   282  func writestatementValues(qq422016 qtio422016.Writer, s *database.DebugStatement) {
   283  //line views/vdatabase/Statement.html:90
   284  	qw422016 := qt422016.AcquireWriter(qq422016)
   285  //line views/vdatabase/Statement.html:90
   286  	streamstatementValues(qw422016, s)
   287  //line views/vdatabase/Statement.html:90
   288  	qt422016.ReleaseWriter(qw422016)
   289  //line views/vdatabase/Statement.html:90
   290  }
   291  
   292  //line views/vdatabase/Statement.html:90
   293  func statementValues(s *database.DebugStatement) string {
   294  //line views/vdatabase/Statement.html:90
   295  	qb422016 := qt422016.AcquireByteBuffer()
   296  //line views/vdatabase/Statement.html:90
   297  	writestatementValues(qb422016, s)
   298  //line views/vdatabase/Statement.html:90
   299  	qs422016 := string(qb422016.B)
   300  //line views/vdatabase/Statement.html:90
   301  	qt422016.ReleaseByteBuffer(qb422016)
   302  //line views/vdatabase/Statement.html:90
   303  	return qs422016
   304  //line views/vdatabase/Statement.html:90
   305  }
   306  
   307  //line views/vdatabase/Statement.html:92
   308  func streamstatementOut(qw422016 *qt422016.Writer, s *database.DebugStatement) {
   309  //line views/vdatabase/Statement.html:92
   310  	qw422016.N().S(`
   311  `)
   312  //line views/vdatabase/Statement.html:93
   313  	if len(s.Out) == 0 {
   314  //line views/vdatabase/Statement.html:93
   315  		qw422016.N().S(`  <em>no results</em>
   316  `)
   317  //line views/vdatabase/Statement.html:95
   318  	} else {
   319  //line views/vdatabase/Statement.html:95
   320  		qw422016.N().S(`  <div class="overflow full-width">
   321      <table>
   322        <thead>
   323          <tr>
   324            <th class="shrink">Idx</th>
   325            <th>Result</th>
   326          </tr>
   327        </thead>
   328        <tbody>
   329  `)
   330  //line views/vdatabase/Statement.html:105
   331  		for idx, v := range s.Out {
   332  //line views/vdatabase/Statement.html:105
   333  			qw422016.N().S(`        <tr>
   334            <td>`)
   335  //line views/vdatabase/Statement.html:107
   336  			qw422016.N().D(idx + 1)
   337  //line views/vdatabase/Statement.html:107
   338  			qw422016.N().S(`</td>
   339            <td>`)
   340  //line views/vdatabase/Statement.html:108
   341  			components.StreamJSON(qw422016, v)
   342  //line views/vdatabase/Statement.html:108
   343  			qw422016.N().S(`</td>
   344          </tr>
   345  `)
   346  //line views/vdatabase/Statement.html:110
   347  		}
   348  //line views/vdatabase/Statement.html:111
   349  		if s.Count > len(s.Out) {
   350  //line views/vdatabase/Statement.html:111
   351  			qw422016.N().S(`        <tr>
   352            <td colspan="2">...and `)
   353  //line views/vdatabase/Statement.html:113
   354  			qw422016.N().D(s.Count - len(s.Out))
   355  //line views/vdatabase/Statement.html:113
   356  			qw422016.N().S(` additional rows</td>
   357          </tr>
   358  `)
   359  //line views/vdatabase/Statement.html:115
   360  		}
   361  //line views/vdatabase/Statement.html:115
   362  		qw422016.N().S(`      </tbody>
   363      </table>
   364    </div>
   365  `)
   366  //line views/vdatabase/Statement.html:119
   367  	}
   368  //line views/vdatabase/Statement.html:120
   369  }
   370  
   371  //line views/vdatabase/Statement.html:120
   372  func writestatementOut(qq422016 qtio422016.Writer, s *database.DebugStatement) {
   373  //line views/vdatabase/Statement.html:120
   374  	qw422016 := qt422016.AcquireWriter(qq422016)
   375  //line views/vdatabase/Statement.html:120
   376  	streamstatementOut(qw422016, s)
   377  //line views/vdatabase/Statement.html:120
   378  	qt422016.ReleaseWriter(qw422016)
   379  //line views/vdatabase/Statement.html:120
   380  }
   381  
   382  //line views/vdatabase/Statement.html:120
   383  func statementOut(s *database.DebugStatement) string {
   384  //line views/vdatabase/Statement.html:120
   385  	qb422016 := qt422016.AcquireByteBuffer()
   386  //line views/vdatabase/Statement.html:120
   387  	writestatementOut(qb422016, s)
   388  //line views/vdatabase/Statement.html:120
   389  	qs422016 := string(qb422016.B)
   390  //line views/vdatabase/Statement.html:120
   391  	qt422016.ReleaseByteBuffer(qb422016)
   392  //line views/vdatabase/Statement.html:120
   393  	return qs422016
   394  //line views/vdatabase/Statement.html:120
   395  }