Commit Graph
38 Commits
Author SHA1 Message Date
Jeremy Ruston e9d640b61b Fix sqlAllTitles wrongly including shadow tiddlers 2023-10-25 18:02:56 +01:00
Jeremy Ruston 3a4f5b8cfc Cache allTitles and allShadowTitles 2023-10-25 18:02:39 +01:00
Jeremy Ruston dc94ed8be8 Refactor indexer implementation
Previously, we were using the existing addIndexer method to piggyback adding our own internal indexers.
2023-10-25 17:49:13 +01:00
Jeremy Ruston 12c6cb35a0 Add indexes for columns used in joins
Doesn't actually appear to make any appreciable difference
2023-10-25 11:38:08 +01:00
Jeremy Ruston f49b9faab0 Move tags into their own tables
This roughly halves the bootup time of the prerelease wiki
2023-10-25 11:29:38 +01:00
Jeremy Ruston d4dec0ca65 Use the empty string as special plugin name for ordinary tiddlers
Using NULL was working against the grain of SQL
2023-10-24 18:41:34 +01:00
Jeremy Ruston c52014c66f Simplify the SQL schema
And introduce some very simple tests
2023-10-21 12:00:51 +01:00
Jeremy Ruston e6309e95c9 Fix tag collation syntax 2023-07-29 11:48:35 +01:00
Jeremy Ruston 39d04517dd Experiment with optimising specific filters with direct SQL equivalents 2023-07-21 13:21:04 +01:00
Jeremy Ruston b9245da91f Sort tag lookups according to TW semantics
Perhaps it would be better to keep the tags in the desired order in the database...
2023-07-20 19:30:02 +01:00
Jeremy Ruston 7fd2dd5a3e Wire up the tag indexer properly
Improves rendering performance by a factor of 4, but we're still 5 times slower than the plain JS store
2023-07-19 21:52:28 +01:00
Jeremy Ruston 2d3027faab Sql console styling 2023-07-19 19:52:44 +01:00
Jeremy Ruston 2cd2a057f8 Fix tag saving 2023-07-19 19:52:34 +01:00
Jeremy Ruston 09b0e2815c Style update for sql console 2023-07-19 19:19:57 +01:00
Jeremy Ruston b4fe89657b Styling for SQL console 2023-07-19 18:08:35 +01:00
Jeremy Ruston 88c8c2c9f3 SQL console - process query on enter key 2023-07-19 09:04:38 +01:00
Jeremy Ruston 979a1f746d Introduce sql console
Very bare bones, but functional. Results are displayed in JSON for the moment. The console should also perhaps be hidden by default, with a keyboard shortcut, and a setting in local storage.
2023-07-18 21:54:01 +01:00
Jeremy Ruston cc2cd20e32 Add tags tables and tag indexer and make custom collator be optional
This commit (a) is very much work in progress (b) improves performance significantly and (c) is actually broken

Right now, theme stylesheets don't get loaded for some reason.

I plan to spend some time improving debuggability by adding a SQL console
2023-07-18 19:33:21 +01:00
Jeremy Ruston b557deac79 Update comment 2023-07-07 10:15:40 +01:00
Jeremy Ruston 64ffa52da9 Write tiddlers with string fields
Otherwise date fields will get saved as JS date objects, which are not properly defined in JSON.
2023-07-07 08:22:36 +01:00
Jeremy Ruston d2e21ddd3c Add a custom collator that matches JS ordering 2023-07-07 08:20:57 +01:00
jeremy@jermolene.com 9e190a46db Use a temporary database so that multiple wiki stores can coexist 2023-07-06 11:54:03 +01:00
jeremy@jermolene.com 2d229e2159 Add logging utility 2023-07-06 11:53:41 +01:00
jeremy@jermolene.com 1f4be3e92f I experimented with custom collations to match JS sort order, but 5x slower 2023-06-30 10:46:27 +01:00
Jeremy Ruston b29af447e5 Fix typo 2023-06-29 22:49:08 +01:00
Jeremy Ruston 87213f2c65 Refactpr sql-wiki-store into two files 2023-06-29 07:55:59 +01:00
Jeremy Ruston 12a19bb9cf Remove instrumentation
Makes the code complex and is hard to keep up to date
2023-06-28 17:27:01 +01:00
jeremy@jermolene.com ede5f1e9ad Prepare the save tiddler query 2023-06-28 11:43:57 +01:00
jeremy@jermolene.com 9cb8721343 Use sql functions for processing shadow tiddlers 2023-06-27 19:10:42 +01:00
jeremy@jermolene.com 7e6072611e Wire the sql functions into the wiki object
At this point, the result is incredibly, painfully slow – the wiki will probably fail to load entirely on mobile
2023-06-25 21:05:28 +01:00
jeremy@jermolene.com 9ac21f167f Simplify the plain JS store implementation
Removing indexers and title cache
2023-06-25 17:03:28 +01:00
jeremy@jermolene.com 9427cf7ac6 Additional method to retrieve all titles 2023-06-23 17:33:35 +01:00
jeremy@jermolene.com 8690936805 Cleanup and clarify 2023-06-23 16:58:46 +01:00
jeremy@jermolene.com 831fb3996d Tiddler sql function tests should show custom field 2023-06-23 14:52:14 +01:00
jeremy@jermolene.com c43bc8f92a Start prototyping some tiddler operations in sql 2023-06-23 14:47:35 +01:00
jeremy@jermolene.com 449e2274e2 Test code to exercise the database 2023-06-23 12:40:59 +01:00
jeremy@jermolene.com 146a22b894 Make rawmarkup code dynamically load dependencies
empty.html with the plugin is now 4.1MB
2023-06-22 15:24:39 +01:00
jeremy@jermolene.com 0546a14201 Restructure the sqlite3 store as a separate plugin 2023-06-22 15:04:55 +01:00