4 ms·
SQLite Release 3.40.0
- jitl 4y agoThis contains the beta release of the official WASM build of SQLite https://sqlite.org/wasm/doc/trunk/index.md https://sqlite.org/wasm/doc/trunk/index.md
- dang 4y agoRelated: SQLite in the browser with WASM/JS - https://news.ycombinator.com/item?id=33374402 https://news.ycombinator.com/item?id=33374402 - Oct 2022 (198 comments)
- jmull 4y ago> b. Extract the values of expressions contained within expression indexes where practical, rather than recomputing the expression. > c. The NOT NULL and IS NULL operators (and their equivalents) avoid loading the content of large strings and BLOB values from disk. > d. Avoid materializing a view on which a full scan is performed exactly once. Use and discard the rows of the view as they are computed. > e. Allow flattening of a subquery that is the right-hand operand of a LEFT JOIN in an aggregate query. Gulp. When writing SQL I tend to assume these kinds of things have always been done... I should probably favor my own logical optimizations when I can. (Of course, nothing beats measuring/profiling if you really need to optimize.)
- pwpwp 4y agoDoes the WASM port include full-text search (FTS)?
- llimllib 4y agoNot by default, you can test it out here[1]. I documented how to compile an extension into the wasm build here[2], I assume something like that would work for fts? But I'm not sure exactly. edit: it does build with fts4 by default, just not fts5; I'm not sure why edit 2: to build with an apparently-functional fts5, apply this diff followed by "make" from the ext/wasm directory; the wasm files you want are in the ext/wasm/jswasm directory after the build completes diff --git ext/wasm/GNUmakefile ext/wasm/GNUmakefile index 039dff410..554cf9cda 100644 --- ext/wasm/GNUmakefile +++ ext/wasm/GNUmakefile @@ -111,6 +111,7 @@ sqlite3.c := $(dir.top)/sqlite3.c sqlite3.h := $(dir.top)/sqlite3.h SQLITE_OPT = \ -DSQLITE_ENABLE_FTS4 \ + -DSQLITE_ENABLE_FTS5 \ -DSQLITE_ENABLE_RTREE \ -DSQLITE_ENABLE_EXPLAIN_COMMENTS \ -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION \ I don't know why it's not in the default list of flags. [1]: https://sqlite.org/fiddle/ https://sqlite.org/fiddle/ [2]: https://github.com/llimllib/wasm_sqlite_with_stats/tree/build-fiddle https://github.com/llimllib/wasm_sqlite_with_stats/tree/buil...
- simonw 4y agoHuh, I wonder why FTS4 and not FTS5? I could understand omitting both of them for reasons of size, but having the older version but not the new one feels surprising to me.
- sgbeal 4y ago> Huh, I wonder why FTS4 and not FTS5? I could understand omitting both of them for reasons of size, but having the older version but not the new one feels surprising to me. It was an oversight on my part. It will be fixed in the trunk momentarily.
- llimllib 4y agoNice! The wasm build is great, thanks for all your work on it
- sgbeal 4y ago> Does the WASM port include full-text search (FTS)? It inadvertently includes FTS4 instead of 5. That was my fault and it will be changed to include 5 instead Real Soon Now.
- rychco 4y agoI love using SQLite. It is often my first & only choice when reaching for an embedded database. That being said, are there any compelling alternatives for embedded databases? I'm only aware of DuckDB & Apache Parquet at the moment.
- nix23 4y agoSQLite and Minix3 is probably the most used Software on earth ;)
- iamgopal 4y agoFor the unaware, on which device ?
- yencabulator 4y agoIntel ME is a "hidden processor" on every modern Intel x86 computer, and the modern versions of Intel ME are based on MINIX. https://en.wikipedia.org/wiki/Intel_Management_Engine https://en.wikipedia.org/wiki/Intel_Management_Engine SQLite is used by e.g. browsers, phones, and many desktop apps.
- jokoon 4y agoI'm using dataset for python, it's a thin layer to use SQLite without queries. You can't do joins. It's pretty great, although killing the python process generate threading errors...