shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

285
active users

#sqlite

2 posts2 participants0 posts today

Ok. Just culled ~20,000 of 25,000 #tumblr posts accumulated via #RSS over a month. I've gotta get to work on my own project applying basic statistics to this stuff. Think "reverse chronological + $all_your_own_filtering_and_sorting_and_bucketing". Not sure if I should do that within the confines of a #thunderbird add-on, or try some other approach. I really, really want to be able to use #sql for this stuff. It's a natural fit. But #sqlite seems to be a no-go for #WebExtensions. There is only #IndexedDB, which, in my limited experience with it, is absolute garbage to work with.

Replied to argv minus one

@argv_minus_one
If it is actually written, yes. But #SQLite might detect there is no actual change and not declare the page dirty. And even if it is declared dirty, the row size will not change, so the B-Tree structure will be stable.
The page has to be read anyway, so both the disk cache and the SQLite page cache are primed. Except for hi-speed, hi-volume applications, I would not worry in advance. Premature optimization is the root of all evil.

I am disappointed to find that, with #SQLite, an INSERT statement with both ON CONFLICT DO NOTHING and RETURNING clauses won't return anything if there is a conflict.

I have a table that's basically just for interning frequently-used strings. It has a numeric ID column and a unique text column, and I want to get the ID for a given string, inserting if necessary.

With this RETURNING behavior, that has to be done in two steps, not one. 😔

As a stress test I loaded 8M bookmarks into a little SQLite backed bookmark saving/sharing web app I'm building. The slowest part turned out to be the `SELECT count(1) FROM bookmarks` query that's used as part of the pagination UI. Not what I was expecting but known/expected behaviour from what I've read. It takes 400ms on Snapdragon X Elite CPU, which is fine in practice—I'd be surprised if anyone actually stored more than 100k items in it.

Continued thread
Brought to you by Mozilla #Firefox using dozens of #SQLite databases and clearly not batching the transactions.

Did no one stop to think for a second of the performance implications of dozens of close-together fsyncs|dsyncs on HDDs?

Also, why in the world so many databases? It's completely unnecessary and even though they *could* be used as attached databases, that means one can only use them in non-WAL mode (yay, blocking readers) to maintain proper global transactionality (https://sqlite.org/lang_attach.html https://sqlite.org/wal.html).

Did they even read the docs before doing this nonsense?
sqlite.orgATTACH DATABASE

How-To Geek: How I Track My Music Collection With an Easy SQLite Database. “If you’re a music fan, you probably have shelves of records or CDs. How do you keep track of them? You could use a database, but aren’t they complicated to set up? SQLite is a powerful tool that lets you set up SQL databases without a server. It’s surprisingly easy to set up. Here’s how I did it, despite having a […]

https://rbfirehose.com/2025/03/17/how-to-geek-how-i-track-my-music-collection-with-an-easy-sqlite-database/

SQLite for Everyone!

My talk from the 2024 Research Software Engineering conference is up on YouTube.

youtu.be/7JHhII6ZKz0

It's a 25-minute intro to the benefits relational databases and #SQL. The target audience is "past me", from when I was working with data as a research scientist and learning #python.

It includes a tour of useful tools including #sqlitebrowser, @qgis, @datasette and #etlhelper.

youtu.be- YouTubeEnjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.