Came across this nugget last night which was news to me. Some useful reading in the docs. More testing later.
#SQLite Autoincrement
"The AUTOINCREMENT keyword imposes extra CPU, memory, disk space, and disk I/O overhead and should be avoided if not strictly needed. It is usually not needed."
https://www.sqlite.org/autoinc.html#:~:text=The%20AUTOINCREMENT%20keyword%20imposes%20extra%20CPU%2C%20memory%2C%20disk%20space%2C%20and%20disk%20I/O%20overhead%20and%20should%20be%20avoided%20if%20not%20strictly%20needed.%20It%20is%20usually%20not%20needed.
The shim is going to be _very_ thin because I don't need to swap runtime databases and can do a little work when I switchover, though maintaining the ability to run against something like #sqlite3 would be nice just for demo purposes.
I've gone back and forth around whether I could use a non-relational database, but RDBMS are known quantities, SQL is such a well established language (even with variants and quirks), and creating a shim like this to swap between NoSQL systems is… nontrivial.
@chfkch Not yet been an issue for me. running some 24x7 and haven't yet had a corrupted SD card. They're not particularly taxed (wake up each 5 minutes, do something, write to a #sqlite3 database, and return to sleep). One running for 8 months like that, a second running for maybe 2 years like that. Raspbian on one (yes, it's been about for a while) , RPiOS on the other. No corruption thus far.
#sqlite3 nao suporta adição de foreign key em tabela já existente?? I'm heart broken :blobcatmeltcry:
My contribution to #PHP 8.3 (beta3 will be released next week): deprecate warnings in #SQLite3 extension, in favor of exceptions.
See RFC: https://wiki.php.net/rfc/sqlite3_exceptions
Next target: I'll be trying to implement the authorizer and other missing features in PDO\SQLite for PHP 8.4, if I have time.
Has anybody anywhere been able to get a #SQLite3 database to import to a #MySQL 8 server without being a total asshole ? The sql conversion refuses to import giving me errors on syntax for table creation, the sqlite2mysql errors out in the middle of the transfer for no reason https://w8.sus.fr/tag/SQLite3
Ubuntu 20.04 has no installation candidate for php8.1-sqlite #2004 #php #sharedlibrary #sqlite3
In Ubuntu 22.04.2 LTS, what is the connection between Evolution, Berkeley DB and SQLite format 3? #evolution #sqlite3 #berkeleydb
#evolution #sqlite3 #berkeleydb
What is the connect between Evolution Database Server, Berkeley DB and SQLite format 3? #evolution #sqlite3 #berkeleydb
#evolution #sqlite3 #berkeleydb
Via a colleague:
Heads up for SQLite3 users: DO NOT upgrade to 3.40+. The query planner improvements cause massive performance regressions for many users. Wait for 3.42 or stay with 3.39. We're talking ~ms to multiple seconds for the same query.
Almost done: https://source.toby3d.me/toby3d/hub
The websub.rocks tests are passed, all that remains is to add #SQLite3 storage, since the #WebSub hub currently stores all its subscriptions in memory.
The plan is to add a statistics page for topics and softer delivery of stuck subscriptions not every second, but with delays in steps twice as long as the previous one.
@rotnroll666 @georgberky
q is a binary wrapper around #sqlite3.
It brings a bit of the #duckdb (just learned today about it ;-) ) functionality.
In sqlite if you want to use a csv file without a header column, the only way seems to be (at least I couldn't find one without using "create table" first)
create table table1 (columns ...)
.import your.csv table1
where with q you can directly query from the CSV file
select * from your.csv
Up-to-date sqlite3 package? #apt #officialrepositories #sqlite3
#apt #officialrepositories #sqlite3
diub.SQlite3
Eine einfache #CSharp Wrapper-Klasse für #SQLite3 (sqlite3.dll) .
Quellcode: https://github.com/diub/diub.SQlite3
usage see: https://kodierecke.diub.de/de/csharp/diub//sqlite3.html
A simple #CSharp wrapper class for direct use of #SQLite (sqlite3.dll).
The implementation is not a universal interface! Only the basic functionalities are spread, but these in a convenient way.
All fields, which should be stored in the table, must be public!
"Why so many software" as the filename of - software. Thanks for making me smile in the morning
Yesterday I saw a nice stream by @starbuxman about Spring Batch and analyzing a video game sales data set and I thought: Can we do with less software? We can.
Analyze the "vgsales.csv" data set with sqlite3 and curl alone:
https://gist.github.com/michael-simons/c2a8e639e540ce928e968d5c1ab8e181
Description of the dataset here https://www.kaggle.com/datasets/gregorut/videogamesales
😡😡🤬
Python.SQLite3 – Quando gli sviluppatori sono distratti e tu perdi ore a capire perché diamine le cose non funzionano!! 😡
https://bulk.jcsh.eu/quando-gli-sviluppatori-sono-distratti/
Damn python's sqlite3 module (DB-API 2.0 interface for SQLite databases😡😡😡
If you open a file of ANY type with:
import sqlite3
try:
connection = sqlite3.connect(FileName)
except sqlite3.DatabaseError:
return False
return true
You will not receive false returns as we would expect! The .connect API just opens the file WITHOUT any content consistency testing!!
So whether you open an sqlite database, or a cookie granny recipe file, it won't generate any traps through the try: making it look like it's a valid SQLite database file anyway!!!
The safest way I've found to test that it REALLY is a sqlite database file is as follows:
with open(DbFileName,'r', encoding = "ISO-8859-1") as f:
header = f.read(16)
if header.startswith('SQLite format 3'):
return True
else:
return False
I wasted hours figuring out why the heck my SQLite database verify function failed the test!!!!
RT @luislavena@twitter.com
Today had some fun when I tried to add support for automatic PRAGMAs configuration to crystal-sqlite3. Did a recording of the season and will send a PR tomorrow. 😊
https://youtu.be/cZgsB1K_HVQ
#CrystalLanguage #crytallang #sqlite3
🐦🔗: https://twitter.com/luislavena/status/1614397002602938369
#crystallanguage #crytallang #sqlite3