summaryrefslogtreecommitdiff
path: root/themes/new_theme/layouts/partials/ranklist_fts5.html
diff options
context:
space:
mode:
Diffstat (limited to 'themes/new_theme/layouts/partials/ranklist_fts5.html')
-rw-r--r--themes/new_theme/layouts/partials/ranklist_fts5.html77
1 files changed, 42 insertions, 35 deletions
diff --git a/themes/new_theme/layouts/partials/ranklist_fts5.html b/themes/new_theme/layouts/partials/ranklist_fts5.html
index 3a29507..56ba77c 100644
--- a/themes/new_theme/layouts/partials/ranklist_fts5.html
+++ b/themes/new_theme/layouts/partials/ranklist_fts5.html
@@ -1,6 +1,7 @@
<script src="/js/jquery.js" type="text/javascript"></script>
<script src="/js/url-search-params.js" type="text/javascript"></script>
<script src="/js/loadingoverlay.min.js" type="text/javascript"></script>
+<script src="/js/require.js" type="text/javascript"></script>
<script src="/js/sql-fts5.js" type="module"></script>
<script language="Javascript">
@@ -28,44 +29,50 @@ function hexdump(buffer, blockSize) {
return lines.join("\n");
}
- function executeQuery( query ) {
+ function executeQuery( query ) {
$( "#query" ).LoadingOverlay( "show" );
- $.ajax( {
- type : 'GET',
- url : '/index/posts.db',
- cache : false,
- timeout : 5000
- } )
- .error( function( x, t, m ) {
- var html = '';
- if( x.status > 0 ) {
- msg = x.responseText;
- } else {
- msg = t;
- }
- msg = escapeHtml( msg );
- html = "<pre><font color='red'>There was an error loading the Sqlite3/FTS5 index, reason: " + msg + "</font></pre>\n";
- $( '#ranklist' ).html( html );
-
- $( "#query" ).LoadingOverlay( "hide", true );
- } )
- .success( function( data ) {
-
- var uInt8Array = new Uint8Array( data );
- //~ var html = "<pre>" + hexdump( data , 16 ) + "</pre>";
- //~ var db = new SQL.Database(uInt8Array);
- //~ var contents = db.exec("SELECT * FROM my_table");
+ console.log( "here" );
- var html = "<pre>ranklist" + db + "</pre>";
-
- $( '#ranklist' ).html( html );
-
-
- $( "#query" ).LoadingOverlay( "hide" );
- } );
-
- $( "#query" ).LoadingOverlay( "hide", true );
+ const xhr = new XMLHttpRequest();
+ xhr.open('GET', '/index/posts.db', true);
+ xhr.responseType = 'arraybuffer';
+ console.log( "here" );
+ xhr.onload = e => {
+ const uInt8Array = new Uint8Array(xhr.response);
+ console.log( uInt8Array );
+ requirejs(["/js/sql-wasm.js"], function(initSqlJs) {
+ const SQL = initSqlJs({
+ locateFile: file => `http://localhost:1313/js/${file}`
+ });
+ initSqlJs().then( function( SQL ) {
+ var db = new SQL.Database(uInt8Array);
+ //~ const stmt = db.prepare("SELECT sqlite_version()");
+ const stmt = db.prepare( "select uri,highlight(posts, 1, '<b>', '</b>'),snippet(posts, 2, '<b>', '</b>', '...', 50) from posts where posts MATCH 'OpenBSD' ORDER BY bm25(posts) limit 5 offset 0" );
+ //~ var stmt = db.prepare( "select * from sqlite_master" );
+ //~ const result = stmt.getAsObject({':aval' : 1, ':bval' : 'world'});
+ //~ console.log(result);
+ //~ while (stmt.step()) console.log(stmt.get());
+ stmt.bind({a:1, b:2});
+ console.log( stmt);
+
+ var html = "<pre>";
+ while(stmt.step()) { //
+ var row = stmt.getAsObject();
+ html += JSON.stringify( row );
+ }
+ stmt.free();
+ db.close();
+
+ html += "</pre>";
+
+ $( '#ranklist' ).html( html );
+
+ $( "#query" ).LoadingOverlay( "hide" );
+ } );
+ } );
+ }
+ xhr.send( );
}
$( window ).load( function( ) {