-
-
Notifications
You must be signed in to change notification settings - Fork 21
Embed sqlite amalgamation v3.40.0 source code #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
gwynne
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is an excellent start! Some issues did pop up, comments inline as usual 🙂
* Removes dependence on a system vendored sqlite3 * Includes swift script for bumping to the latest patch version, inspecting the system's sqlite3 compile options, and updating to an arbitrary version
|
@gwynne I think I've resolved all your comments except regarding compile options. Happy to trim them down but I am curious to get your input on the base set we'd like to use. |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #35 +/- ##
=======================================
Coverage 45.68% 45.68%
=======================================
Files 7 7
Lines 510 510
=======================================
Hits 233 233
Misses 277 277
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Sorry for the long delay on this, @Austinpayne 😕 Your latest changes look good, I'm satisfied with this as is - with one caveat: I left this waiting so long, we're not on the latest anymore 😅 Can you update for SQLite 3.40.0? |
gwynne
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still not 100% sure what to think of the TSan failure, but addressing it definitely isn't important enough to be worth blocking this badly overdue change even longer. Thanks for your diligence, @Austinpayne - this is excellent work! 💯
Yeah, same here. I'll probably do a follow up over in the SQLite Fluent driver after the merge to use |
|
The original PR description text is available via GitHub's edit history, but the removed portion is reproduced here for simplicity:
|
|
Overriding |
|
These changes are now available in 1.3.0 |
* Embed sqlite amalgamation v3.40.0 source code * Includes swift script for bumping to the latest patch version, inspecting the system's sqlite3 compile options, and updating to an arbitrary version * Use sqlite serialized threading on linux * Use async interfaces in vendor-sqlite3 * Prefix sqlite amalgamation symbols with "sqlite_nio_" * Update CI to not depend on system libsqlite3 * Adjust CSQLite compile options to Ubuntu 22.04 Co-authored-by: Austin Payne <austin@passivelogic.com>
This PR removes dependence on a system
libsqlite3by embedding the amalgamation (single source file) release of sqlite3 in vendored form. The included source code is fetched from https://sqlite.org/download.html. (#35)Projects which include logic in their
Dockerfileand/or CI workflows to ensure that thelibsqlite3-devpackage (or equivalent) is installed on the build image can now safely remove it, but are not required to do so. No additional actions are necessary to take advantage of any additional features supported by the embedded library; SQLKit and Fluent will detect their availability automatically when possible (most notablyUPSERTsupport).Closes #32