xref: /sqlite-3.40.0/ext/wasm/batch-runner.html (revision 5ad36319)
12cae138fSstephan<!doctype html>
22cae138fSstephan<html lang="en-us">
32cae138fSstephan  <head>
42cae138fSstephan    <meta charset="utf-8">
52cae138fSstephan    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
62cae138fSstephan    <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
72cae138fSstephan    <link rel="stylesheet" href="common/emscripten.css"/>
82cae138fSstephan    <link rel="stylesheet" href="common/testing.css"/>
92cae138fSstephan    <title>sqlite3-api batch SQL runner</title>
102cae138fSstephan  </head>
112cae138fSstephan  <body>
122cae138fSstephan    <header id='titlebar'><span>sqlite3-api batch SQL runner</span></header>
132cae138fSstephan    <!-- emscripten bits -->
142cae138fSstephan    <figure id="module-spinner">
152cae138fSstephan      <div class="spinner"></div>
162cae138fSstephan      <div class='center'><strong>Initializing app...</strong></div>
172cae138fSstephan      <div class='center'>
182cae138fSstephan        On a slow internet connection this may take a moment.  If this
192cae138fSstephan        message displays for "a long time", intialization may have
202cae138fSstephan        failed and the JavaScript console may contain clues as to why.
212cae138fSstephan      </div>
222cae138fSstephan    </figure>
232cae138fSstephan    <div class="emscripten" id="module-status">Downloading...</div>
242cae138fSstephan    <div class="emscripten">
252cae138fSstephan      <progress value="0" max="100" id="module-progress" hidden='1'></progress>
262cae138fSstephan    </div><!-- /emscripten bits -->
272f06bf25Sstephan    <p>
2849cb8d73Sstephan      This page is for batch-running extracts from the output
2949cb8d73Sstephan      of <tt>speedtest1 --script</tt>, as well as other standalone SQL
3049cb8d73Sstephan      scripts.
312f06bf25Sstephan    </p>
322f06bf25Sstephan    <p id='warn-list' class='warning'>ACHTUNG: this file requires a generated input list
332cae138fSstephan      file. Run "make batch" from this directory to generate it.
342cae138fSstephan    </p>
35*5ad36319Sstephan    <p id='warn-opfs' class='warning hidden'>WARNING: if the WASMFS/OPFS layer crashes, this page may
36*5ad36319Sstephan      become completely unresponsive and need to be closed and reloaded to recover.
37*5ad36319Sstephan    </p>
38*5ad36319Sstephan    <p id='warn-websql' class='warning hidden'>WARNING: WebSQL's limited API requires that
39*5ad36319Sstephan      this app split up SQL batches into separate statements for execution. That will
40*5ad36319Sstephan      only work so long as semicolon characters are <em>only</em> used to terminate
41*5ad36319Sstephan      SQL statements, and not used within string literals or the like.
422cae138fSstephan    </p>
432cae138fSstephan    <hr>
44*5ad36319Sstephan    <div id='toolbar'>
452f06bf25Sstephan      <select class='disable-during-eval' id='sql-select'>
462cae138fSstephan        <option disabled selected>Populated via script code</option>
472cae138fSstephan      </select>
482f06bf25Sstephan      <button class='disable-during-eval' id='sql-run'>Run selected SQL</button>
492f06bf25Sstephan      <button class='disable-during-eval' id='sql-run-next'>Run next...</button>
502f06bf25Sstephan      <button class='disable-during-eval' id='sql-run-remaining'>Run all remaining...</button>
5153f635dfSstephan      <button class='disable-during-eval' id='export-metrics'>Export metrics (WIP)</button>
522f06bf25Sstephan      <button class='disable-during-eval' id='db-reset'>Reset db</button>
532cae138fSstephan      <button id='output-clear'>Clear output</button>
54*5ad36319Sstephan      <span class='input-wrapper flex-col'>
55*5ad36319Sstephan        <label for='select-impl'>Storage impl:</label>
56*5ad36319Sstephan        <select id='select-impl'>
57*5ad36319Sstephan          <option value='virtualfs'>Virtual filesystem</option>
58*5ad36319Sstephan          <option value='memdb'>:memory:</option>
59*5ad36319Sstephan          <option value='wasmfs-opfs'>WASMFS OPFS</option>
60*5ad36319Sstephan          <option value='websql'>WebSQL</option>
61*5ad36319Sstephan        </select>
6253f635dfSstephan      </span>
632cae138fSstephan    </div>
642cae138fSstephan    <hr>
65*5ad36319Sstephan      <span class='input-wrapper'>
66*5ad36319Sstephan        <input type='checkbox' class='disable-during-eval' id='cb-reverse-log-order' checked></input>
67*5ad36319Sstephan        <label for='cb-reverse-log-order'>Reverse log order (newest first)</label>
68*5ad36319Sstephan      </span>
692cae138fSstephan    <div id='test-output'></div>
705b915007Sstephan    <!-- batch-runner.js "should" work with sqlite3-kvvfs so long as
715b915007Sstephan         its data sets don't violate the the storage limits. -->
72*5ad36319Sstephan    <script src="sqlite3-wasmfs.js"></script>
732cae138fSstephan    <script src="common/SqliteTestUtil.js"></script>
742cae138fSstephan    <script src="batch-runner.js"></script>
75*5ad36319Sstephan    <style>
76*5ad36319Sstephan      .flex-col {
77*5ad36319Sstephan          display: flex;
78*5ad36319Sstephan          flex-direction: column;
79*5ad36319Sstephan      }
80*5ad36319Sstephan      #toolbar {
81*5ad36319Sstephan          display: flex;
82*5ad36319Sstephan          flex-direction: row;
83*5ad36319Sstephan          flex-wrap: wrap;
84*5ad36319Sstephan      }
85*5ad36319Sstephan      #toolbar > * {
86*5ad36319Sstephan          margin: 0.25em;
87*5ad36319Sstephan      }
88*5ad36319Sstephan    </style>
892cae138fSstephan  </body>
902cae138fSstephan</html>
91