What I've always lacked is something similar to JSFiddle / CodePen, but for SQLite. An online playground to quickly test the SQL query and share it with others.
Here is what I wanted:
— Binary database import, not just SQL schema.
— Support both local and remote databases (by url).
— Save the database and queries in the cloud.
— Free of charge, no sign-up required.
— The latest version of SQLite.
— Minimalism.
So I did it myself — an online SQLite playground for debugging and sharing SQL snippets.
really nice that you've used wasm and no server. This seems really secure to test.
I was thinking at first: Hey, this might be kinda dangerous, imagine iterating in a tool and sending my database to a server and any attacker retrieves the database.
But since it runs everything inside of the browser with wasm i found it WAY more secure. Nice that you've done it, will probably use it a lot.
It would of course also increase server's potential attack layer. sqlite had some bugs, potentially exploitable, if you are able to invoke arbitrary statements
Good work, always happy to see new tools related to SQLite and Wasm!
As I see, currently you're loading whole DB into the memory, so large databases might become a problem. Did you think of adopting https://wicg.github.io/file-system-access, so users could query their databases directly from filesystem?
Thanks! Not really — the playground is meant for small databases. Just as one won't develop the whole app in JSFiddle, they probably won't import a large database to the playground.
The same argument could be said for most web-based playgrounds. I'd argue for small prototyping, playgrounds/pens offer an easier interface and enable sharing of artifacts
This is great! Very useful - great work on getting it up and running.
Coincidentally I threw together something very similar recently to run sqlite over csv files. It's very WIP right now and missing lots of useful things (e.g. currently every column is TEXT and maany more QOL things) but remarkably similar to sqlime!
Love it! It'd be nice to have a couple more example datasets, and I'd promote them to the top level (rather than in 'more'). I think the first thing many users will want to do is just try to tool with some pre-provided datasets - and when it works nicely (which it does!) then maybe import their own data
37 comments
[ 5.6 ms ] story [ 88.5 ms ] threadHere is what I wanted:
— Binary database import, not just SQL schema.
— Support both local and remote databases (by url).
— Save the database and queries in the cloud.
— Free of charge, no sign-up required.
— The latest version of SQLite.
— Minimalism.
So I did it myself — an online SQLite playground for debugging and sharing SQL snippets.
Sample database: https://sqlime.org/#gist:e012594111ce51f91590c4737e41a046
But there are 'more > show tables' command in the toolbar and Ctrl+/ shortcut which do exactly that.
SELECT name FROM sqlite_master WHERE type='table'
I was thinking at first: Hey, this might be kinda dangerous, imagine iterating in a tool and sending my database to a server and any attacker retrieves the database.
But since it runs everything inside of the browser with wasm i found it WAY more secure. Nice that you've done it, will probably use it a lot.
That part is provided by the excellent sql.js project btw: https://github.com/sql-js/sql.js/
https://www.sqlite.org/cves.html https://www.sqlite.org/security.html
Can you include the FTS5 module?
Mine is a tool for testing and sharing small snippets of SQL code.
As I see, currently you're loading whole DB into the memory, so large databases might become a problem. Did you think of adopting https://wicg.github.io/file-system-access, so users could query their databases directly from filesystem?
In other words, it should not be used. More concretely IIRC it only works on Chrome.
> — The latest version of SQLite.
And minimalism is certainly appreciated also!
Coincidentally I threw together something very similar recently to run sqlite over csv files. It's very WIP right now and missing lots of useful things (e.g. currently every column is TEXT and maany more QOL things) but remarkably similar to sqlime!
https://csvee.io/
Even I created a tool :) https://news.ycombinator.com/item?id=25791207