]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
fiddle: add a selection list of example queries.
authorstephan <stephan@noemail.net>
Sat, 21 May 2022 00:45:46 +0000 (00:45 +0000)
committerstephan <stephan@noemail.net>
Sat, 21 May 2022 00:45:46 +0000 (00:45 +0000)
FossilOrigin-Name: 74abf03977e1ff8c6043defa38211cdfcfbba1979771b90ed9d3dbc99750fe9f

ext/fiddle/fiddle.in.html
ext/fiddle/module-post.js
manifest
manifest.uuid

index efa73ae6abdc7010082587703e10d5b330f95617..e9edf09c495e4568a612f4e21e6bd057749a012f 100644 (file)
@@ -77,6 +77,7 @@
           display: flex;
           justify-content: center;
           flex: 0 1 auto;
+          flex-wrap: wrap;
       }
       .button-bar button {
           margin: 0.25em 1em;
@@ -203,6 +204,7 @@ SELECT * FROM t;</textarea>
             <button id='btn-run'>Run</button>
             <button id='btn-clear'>Clear Input</button>
             <button data-cmd='.help'>Help</button>
+            <select id='select-examples'></select>
           </div>
         </div>
         <div class='ta-wrapper output'>
index c32f482418b225cfc825f8297ef1e5c012e3fc1e..ec88563246405e9c19b564a80aec826232cf2fbb 100644 (file)
@@ -219,6 +219,55 @@ window.Module.onRuntimeInitialized = function(){
         return resized;
     })();
 
+    /** Set up a selection list of examples */
+    (function(){
+        const xElem = E('#select-examples');
+        const examples = [
+            {name: "Timer on", sql: ".timer on"},
+            {name: "Setup table T", sql:`.nullvalue NULL
+CREATE TABLE t(a,b);
+INSERT INTO t(a,b) VALUES('abc',123),('def',456),(NULL,789),('ghi',012);
+SELECT * FROM t;`},
+            {name: "Table list", sql: ".tables"},
+            {name: "Box Mode", sql: ".mode box"},
+            {name: "JSON Mode", sql: ".mode json"},
+            {name: "Mandlebrot", sql: `WITH RECURSIVE
+  xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+0.05 FROM xaxis WHERE x<1.2),
+  yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+0.1 FROM yaxis WHERE y<1.0),
+  m(iter, cx, cy, x, y) AS (
+    SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis
+    UNION ALL
+    SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m 
+     WHERE (x*x + y*y) < 4.0 AND iter<28
+  ),
+  m2(iter, cx, cy) AS (
+    SELECT max(iter), cx, cy FROM m GROUP BY cx, cy
+  ),
+  a(t) AS (
+    SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '') 
+    FROM m2 GROUP BY cy
+  )
+SELECT group_concat(rtrim(t),x'0a') as Mandelbrot FROM a;`}
+        ];
+        const newOpt = function(lbl,val){
+            const o = document.createElement('option');
+            o.value = val;
+            if(!val) o.setAttribute('disabled',true);
+            o.appendChild(document.createTextNode(lbl));
+            xElem.appendChild(o);
+        };
+        newOpt("Examples (replaces input!)");
+        examples.forEach((o)=>newOpt(o.name, o.sql));
+        //xElem.setAttribute('disabled',true);
+        xElem.selectedIndex = 0;
+        xElem.addEventListener('change', function(){
+            taInput.value = '-- ' +
+                this.selectedOptions[0].innerText +
+                '\n' + this.value;
+            //doExec(this.value);
+        });
+    })()/* example queries */;
+
     Module.print(null/*clear any output generated by the init process*/);
     if(window.jQuery && window.jQuery.terminal){
         /* Set up the terminal-style view... */
index f8cf418a563fd153dd83c126b22d8e8275e637dc..ea11836e17d2b1ae9419fd07c7e073eb68c587fd 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sthe\sshell\sWASM\sbuild,\scall\sopen_db()\searly\sso\sthat\swe\scan\sget\saccess\sto\sthe\sglobal\sdb\shandle\sfrom\scertain\sexperimentation-only\sfunction\swithout\shaving\sto\sfirst\srun\ssome\sSQL\scode.
-D 2022-05-21T00:01:45.485
+C fiddle:\sadd\sa\sselection\slist\sof\sexample\squeries.
+D 2022-05-21T00:45:46.764
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -56,9 +56,9 @@ F ext/expert/sqlite3expert.c 6ca30d73b9ed75bd56d6e0d7f2c962d2affaa72c505458619d0
 F ext/expert/sqlite3expert.h ca81efc2679a92373a13a3e76a6138d0310e32be53d6c3bfaedabd158ea8969b
 F ext/expert/test_expert.c d56c194b769bdc90cf829a14c9ecbc1edca9c850b837a4d0b13be14095c32a72
 F ext/fiddle/Makefile b2904d52c10a7c984cfab95c54fb85f33aa8a6b2653faf1527d08ce57114be46
-F ext/fiddle/fiddle.in.html 7291529917c60d176068f13f9c1b46a88dabdc19a204f608da594b45b8b9e736
+F ext/fiddle/fiddle.in.html 15e20c0b235425e88dc622623146c8f44005ddd875e4843f1904823ad1ee16a3
 F ext/fiddle/index.md d9c1c308d8074341bc3b11d1d39073cd77754cb3ca9aeb949f23fdd8323d81cf
-F ext/fiddle/module-post.js 9c49cf8350b8757ee234fce470e45fd1ccd31f1641b8359bed601562d5e777f0
+F ext/fiddle/module-post.js ae25e1e0e77f3856d62798fe72aeae65614687ffa2a3d1f2be3949470c8bfe20
 F ext/fiddle/module-pre.js baee03024cff65ea70ae8d67116e9c0b44723217005e04400930ad4b48be51f4
 F ext/fts1/README.txt 20ac73b006a70bcfd80069bdaf59214b6cf1db5e
 F ext/fts1/ft_hash.c 3927bd880e65329bdc6f506555b228b28924921b
@@ -1959,8 +1959,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 67e40d99ff84a6cb23c68bf0722a4f9dee29b8ad18d9e7aac7d1665e99901ba1
-R b8510496fc1cbfa1fe2f478924d15996
+P 31706ef851f7d55e2fe865933ec03f42dfa8b49e6d1f12b6c016b5c1d3460504
+R e3bf69409e6eaf22474ba05290f0bc56
 U stephan
-Z 60d40b9749dd39838277861d3f9c9ebd
+Z 4e174f238744adc17a78f8f77017822d
 # Remove this line to create a well-formed Fossil manifest.
index 11c46869a69592b5bf1d0a0df44bfe5be9a773ec..618407f4089255cb1c27bcf5998538c0a05b5897 100644 (file)
@@ -1 +1 @@
-31706ef851f7d55e2fe865933ec03f42dfa8b49e6d1f12b6c016b5c1d3460504
\ No newline at end of file
+74abf03977e1ff8c6043defa38211cdfcfbba1979771b90ed9d3dbc99750fe9f
\ No newline at end of file