-
Notifications
You must be signed in to change notification settings - Fork 203
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
feat: allow setting sqlite compiler flags via extconf args #402
Conversation
with instructions on how to link against a specific shared library.
I don't have my laptop available this evening, but I will test this branch manually tomorrow. The code looks very clear tho, so I'm confident this will do precisely what the docs describe. This is such a lovely feature. After digging into the SQLite docs, I was surprised to learn how "tamely" they tuned the default configuration. |
I'm going to cut a release candidate so you should be able to kick the tires more easily. |
@fractaledmind If there are some obvious options that are good for general-purpose sqlite usage, please open an issue to suggest them be made the default when the gem builds sqlite! |
@fractaledmind v1.6.5.rc1 has been uploaded to rubygems. Give it a try and if it works, I'll make a real release. (For the record, it worked for me: a bundler config is able to set page size and cache size for me on both Linux and macOS.) |
It definitely tried to compile SQLite using the config flags, but on my macOS machine, I hit an error. Here is the output of my
|
@fractaledmind Help me reproduce this? Do you have the same problem with compiling the source gem for v1.6.4? |
OK, I'm trying to reproduce with this in my bundler config:
It's fine on Linux, but I can reproduce what you're seeing on my M1. I think this is because of one of the |
Looks like |
That was fast. I was planning to bisect the flags, presuming it was one that wasn't compatible with the gem (as I know is true with the |
It works!!
|
@flavorjones: Thank you so much for your help with this feature. Let me know when the new version is released, because I want to write about this as soon as possible. I am genuinely giddy with excitement that we found such a clean and simple way to allow developer's to fine-tune their SQLite with compile-time options for their Rails apps. I can't wait to share with folks the optimizations they can unlock, without needing Docker or any other containerization setup. You have been a real joy to work with (tho, to be honest, I did very little of the work) and to start to get to know. It is precisely individuals like yourself that makes me so happy to have found the Ruby world oh those years ago. Thanks for being such an excellent open-source maintainer. |
👍 1.6.5 has been released: Release 1.6.5 / 2023-09-08 · sparklemotion/sqlite3-ruby |
Closes #401