Bug: SQLitePCLRaw stubs sqlite3_load_extension on .NET Framework, so vec0 cannot load
関連するプルリクエストがすでにマージされています。
- #63 @adamsitnik による — マージ済み
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
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時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CommunityToolkit/AI のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
CommunityToolkit/AI#64 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
CommunityToolkit/AI#19 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
CommunityToolkit/AI#61 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
CommunityToolkit/AI#59 ·
-
Report all Cosmos DB emulator issues再び着手できるかも @adamsitnik が 95 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
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 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
reactiveui/ReactiveUI.Binding.SourceGenerators#176 ·
メンテナーはふだん 1 日以内に返信
-
c:docs p:high size:S t:docs
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
lugassawan/swe-workbench#799 ·
メンテナーはふだん 1 日以内に返信
-
.NET Docs Next Major
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
getsentry/sentry-dotnet#5709 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信