Bug: SQLitePCLRaw stubs sqlite3_load_extension on .NET Framework, so vec0 cannot load
已经有一个关联 PR 被合并了。
- #63 来自 @adamsitnik —— 已合并
评估
调研方向
Start by checking the SQLitePCLRaw provider assets for net471 and netstandard2.0 and comparing them with net8.0; the issue identifies the stubbed sqlite3_load_extension behavior. Then decide whether to pursue the upstream feature-flag change, add a provider fallback, or drop net462 support. Done means .NET Framework targets can load vec0, or those targets are intentionally no longer supported; the issue also notes a separate win-x86 conformance-test limitation.
由索引模型根据 Issue 内容生成。
描述
Currently every SQLitePCLRaw 2.1.x and 3.0.x release compiles sqlite3_load_extension to a stub in the provider assets used before .NET 5: the net471 asset used on .NET Framework on Windows, and the netstandard2.0 asset used elsewhere. The stub stores a null error message and returns SQLITE_ERROR (1). Loading vec0 through Microsoft.Data.Sqlite or SQLitePCLRaw on .NET Framework therefore fails with SQLite Error 1: '', no matter which package versions are in use.
I noticed this as it blocks running the net472 conformance tests but it must also break the shipped package: the net462 and netstandard2.0 targets cannot load vec0 at all. net8.0 and net10.0 resolve the net8.0 SQLitePCLRaw asset, which does not have the stub and so works correctly.
Options
- File an upstream issue against ericsink/SQLitePCL.raw asking for FEATURE_LOADEXTENSION to be enabled for the prenet5 variants. The maintainer's own comment in https://github.com/ericsink/SQLitePCL.raw/issues/523 says there is no good reason for the flag to be off.
- Decide the package story for .NET Framework: either ship a fallback in the provider that calls
sqlite3_load_extensionthrough a local[DllImport("e_sqlite3")]after enabling extension loading through SQLitePCLRaw, or drop net462 fromTargetFrameworksif .NET Framework support is not a commitment.
Side issue: net472 SqliteVec conformance tests cannot pass regardless as the tests build with win-x86, and the sqlite-vec package ships no win-x86 build.
- 主要语言
- C#
- 星标
- 8
- 派生
- 8
- 平均合并
- 2 天 14 小时
- 30 天内合并 PR
- 5
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CommunityToolkit/AI 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
CommunityToolkit/AI#64 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
CommunityToolkit/AI#19 ·
-
难度 5/5 一周以上 新手友好度 35/100
CommunityToolkit/AI#61 ·
-
难度 5/5 一周以上 新手友好度 35/100
CommunityToolkit/AI#59 ·
-
Report all Cosmos DB emulator issues可能重新可做 @adamsitnik 于 96 天前认领,目前没有进行中的 PR。 未关闭
CommunityToolkit/AI#23 · 已指派 1 人 ·
查看 CommunityToolkit/AI 的全部 Issue
相似的 Issue
-
A numeric literal is parsed in the host's culture, so 1.5 is 15 in a made EXE on a comma-decimal OS未关闭bug interpreter silently-wrong small
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 66/100
reactiveui/ReactiveUI.Binding.SourceGenerators#176 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 76/100
dotnet/csharpstandard#1830 ·
维护者通常 1 天内回复
-
c:docs p:high size:S t:docs
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 1 天内回复