-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Packages.props
More file actions
68 lines (61 loc) · 4.63 KB
/
Copy pathDirectory.Packages.props
File metadata and controls
68 lines (61 loc) · 4.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
</PropertyGroup>
<ItemGroup>
<!-- Only used when the vgi-rpc-csharp sibling checkout isn't present (see
Directory.Build.props); when it is, Apache.Arrow comes transitively from its vendored
ProjectReference and this pinned version is irrelevant.
MUST be >= 0.4.0: versions before that declared a broken transitive dependency on the
real, unpatched, years-old official Apache.Arrow 1.0.0 instead of the patched
QueryFarm.Arrow fork QueryFarm.Vgi actually needs — confirmed via a clean-restore
reproduction against 0.3.0 (CS0246 on Decimal128Type/IntegerType/Decimal128Array, CS1503
on IArrowArray/Array), fixed in vgi-rpc-csharp 0.4.0 (see that repo's
third_party/apache-arrow-dotnet/README.md's "Published as QueryFarm.Arrow" section). This
package's own NuGet publish must not happen before 0.4.0 is live on nuget.org. -->
<PackageVersion Include="QueryFarm.VgiRpc" Version="0.9.0" />
<PackageVersion Include="QueryFarm.VgiRpc.Http" Version="0.9.0" />
<!-- Same sibling-source-vs-NuGet split as QueryFarm.VgiRpc above; only used when the
vgi-rpc-csharp checkout isn't present. QueryFarm.VgiRpc.Client's first-ever NuGet publish
was 0.8.0 (it started as a package split out of QueryFarm.VgiRpc later than that repo's
own version history — nuget.org has no 0.7.0 or earlier for it), and it depends on
QueryFarm.VgiRpc >= its own version, so the two pins must move together and neither may
be older than 0.8.0 — confirmed via nuget.org's flat-container version index for both
packages, not assumed. -->
<PackageVersion Include="QueryFarm.VgiRpc.Client" Version="0.8.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<!-- Embedded-DuckDB engine used by Internal/ExpressionFilterEvaluator.cs to evaluate genuine
expression-filter (function-call/spatial) pushdown — the same architecture vgi-python's
table_filter_pushdown.py and vgi-go's expression_filter.go use (render the pushed bound
expression tree to SQL text, execute it against an embedded engine with the candidate
column loaded), rather than hand-writing per-function C# evaluation logic.
MUST be >= 1.5.5, not older: empirically, both 1.4.1 and 1.5.3 fail to correctly bind a
List<byte[]> parameter through UNNEST($1) (1.4.1: infers $1 as VARCHAR and throws a Binder
Error; 1.5.3: throws "Cannot map type System.Byte[] to DuckDBType" outright) — needed for
WKB/geometry columns (see SpatialFilterExampleFunction). 1.5.5 is the first version
confirmed (by direct empirical testing, not changelog-reading) to bind it correctly.
1.5.5 also declares a hard dependency on the OFFICIAL, unpatched `Apache.Arrow` NuGet
package (added for its own optional Apache Arrow result-streaming feature,
DuckDBCommand.ExecuteArrowStream/ExecuteArrowBatchesAsync, which this evaluator never
uses — plain ADO.NET DbDataReader + UNNEST($1) list parameters instead) — that would
collide at compile time with this repo's patched `QueryFarm.Arrow` fork (same AssemblyName
"Apache.Arrow", different strong-name key: CS0433 "ambiguous between ...
PublicKeyToken=204f54e5a45c07df ... PublicKeyToken=null"). QueryFarm.Vgi.csproj's explicit
`<PackageReference Include="Apache.Arrow" ExcludeAssets="all" />` suppresses that
transitive pull entirely — safe because nothing in this codebase calls the Arrow-streaming
API that would need Apache.Arrow.dll loadable at runtime. -->
<PackageVersion Include="DuckDB.NET.Data.Full" Version="1.5.5" />
<!-- Both excluded repo-wide (root Directory.Build.props) — Apache.Arrow (official) is what
DuckDB.NET.Data.Full 1.5.5 directly depends on, and Apache.Arrow (official) in turn
depends on Apache.Arrow.Scalars (official), which collides with the patched
QueryFarm.Arrow.Scalars fork the same way. -->
<PackageVersion Include="Apache.Arrow" Version="23.0.0" />
<PackageVersion Include="Apache.Arrow.Scalars" Version="23.0.0" />
<!-- Testing -->
<PackageVersion Include="xunit.v3" Version="1.1.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.0.2" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
</ItemGroup>
</Project>