-
Notifications
You must be signed in to change notification settings - Fork 111
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
Bring back the SQLitePCLRaw.provider.sqlite3 packages #325
Comments
This wouldn't be hard to do, and probably makes sense. At the beginning of my dev cycle for 2.0, one of my goals was to reduce the number of packages and providers. The sheer number of them causes a lot of confusion. I made some progress, but in general, this goal seems to be unreachable. There are so many edge cases. SQLitePCLRaw is almost entirely about edge cases. |
v2.0.3 has been pushed to nuget. It includes SQLitePCLRaw.provider.sqlite3.nupkg. Please let me know of any problems found with it. |
Worth adding a bundle? |
:-) If you think it's worth the trouble, I can do it. I default to no on such things because it seems like every additional package ID causes confusion. |
Hi, Is this a bug or am I doing something wrong? |
I think it won't work. The Sqlite.Core package still calls batteries_v2 The difference with normal Sqlite package is that it doesn't include the bundle, but the initialization call is still there. |
Oh my, you are correct -- sorry about that. So @bricelam , yeah, I guess maybe it is worth adding a bundle... |
Thanks for your help! I patched it by now creating a fake SQLitePCL.batteries_v2.dll library with and empty Init method so the Microsoft.Data.Sqlite doesn't complain. It works, but of course this is not a good solution. |
You can manually set (and freeze if necessary) the provider before using SqliteConnection. It only tries to call Batteries_V2–it’s not an error if it can’t. |
But yes, a bundle definitely improves the experience |
Thanks for the reply. Regards. |
@bricelam I've added I'm not sure if there are any edge cases that matter to you which I might be forgetting about, but the bundle right now is pretty darn simple. It only targets It has a test app which runs against None of this is up on nuget yet, but I'll probably be doing a 2.0.4-pre at some point soon for testing purposes. Feedback welcome. |
Nice, I'll run the Microsoft.Data.Sqlite and EF Core tests on it (like we do for winsqlite3 and e_sqlcipher) when the prerelease is available, so we can get coverage on Ubuntu and macOS. |
I wonder if this package would benefit Unity on iOS. Using the system version of SQLite instead of statically linking your own sounds a lot simpler. |
OTOH, if this package helped the Unity on iOS case, then it seems that |
I can't see this package listed in the nuget package directory, but it is commented in the 2.0.4 release notes. Is it still in beta? Should I compile it myself or will it be available soon? Thx! |
AFAICT, the packages are both there: https://www.nuget.org/packages/SQLitePCLRaw.bundle_sqlite3 https://www.nuget.org/packages/SQLitePCLRaw.provider.sqlite3 |
My fault, I was doing the wrong search. Thanks, everything working fine now! |
Sir, built a custom SQlite. It is now lib/x86/libsqliteX.so in the Android. |
@angelrishi This issue is closed. You need to open a new issue and post complete information about what trouble you are having. |
Using the system version of SQLite is a bit ugly in 2.x:
It gets even harder on .NET Framework where NativeLibrary isn't available.
Newer versions of PROJ--used by the SpatiaLite extension--are only compatible with the system-installed version of SQLite. (see dotnet/efcore#16667) So having an easier way to use the system version would be nice.
The text was updated successfully, but these errors were encountered: