Skip to content

Commit c784e01

Browse files
committed
Fix linux external duckdb eg: ./build.sh --duckdb-external minimum
1 parent 517755d commit c784e01

9 files changed

Lines changed: 159 additions & 65 deletions

File tree

build.sh

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,25 @@ ok() { echo -e "\033[32m$1\033[0m"; }
122122
fail() { echo -e "\033[31m$1\033[0m"; exit 1; }
123123

124124
ensure_venv() {
125+
# If venv looks broken (python exists but activate missing), recreate it
126+
if [ -d "$VENV_PATH" ] && [ ! -f "$VENV_PATH/bin/activate" ]; then
127+
echo " Venv at $VENV_PATH is corrupt (missing bin/activate), recreating..."
128+
rm -rf "$VENV_PATH"
129+
fi
125130
if [ ! -f "$VENV_PATH/bin/python" ]; then
126131
step "Creating Python virtual environment"
127-
python3 -m venv "$VENV_PATH"
132+
if ! command -v python3 &>/dev/null; then
133+
fail "python3 not found. Install Python 3.10+ first."
134+
fi
135+
if ! python3 -m venv "$VENV_PATH" 2>&1; then
136+
echo ""
137+
echo " Failed to create virtual environment."
138+
echo " On Debian/Ubuntu, install the venv module:"
139+
echo " sudo apt install python3-venv"
140+
echo " On Fedora/RHEL:"
141+
echo " sudo dnf install python3-libs"
142+
fail "python3 -m venv failed (see above)"
143+
fi
128144
fi
129145
source "$VENV_PATH/bin/activate"
130146
}
@@ -195,7 +211,13 @@ cmd_setup() {
195211

196212
step "Verifying Go installation"
197213
if ! command -v go &>/dev/null; then
198-
fail "Go is not installed. Install it from https://go.dev/dl/"
214+
echo " Go is not on your PATH."
215+
echo " If already installed, add it to your PATH:"
216+
echo " export PATH=\$PATH:/usr/local/go/bin"
217+
echo " To make it permanent:"
218+
echo " echo 'export PATH=\$PATH:/usr/local/go/bin' >> ~/.bashrc"
219+
echo ""
220+
fail "Go not found. Install from https://go.dev/dl/ or add it to your PATH."
199221
fi
200222
go version
201223

@@ -238,8 +260,8 @@ cmd_server() {
238260
else
239261
echo " WARNING: lancedb-go native lib not found at $lib_dir" >&2
240262
echo " Download it with: cd server && go generate ./..." >&2
241-
echo " Falling back to CGO_ENABLED=0 (lancedb-go writes will not work)" >&2
242-
export CGO_ENABLED=0
263+
echo " Falling back to lance_external (lancedb-go writes will not work)" >&2
264+
LANCE_EXTERNAL=true
243265
fi
244266

245267
local build_time
@@ -340,7 +362,10 @@ cmd_server() {
340362
echo " The server will use tools/duckdb binary at runtime."
341363
echo " To retry embedded: ./build.sh --duckdb-embedded server"
342364
echo ""
343-
# If CGo failed, also use external Lance (no native lib available)
365+
# CGo genuinely broken: disable it and use external everything.
366+
# The offline cache (go-duckdb) will also be disabled; the nocgo
367+
# stub makes newOfflineCache return an error handled gracefully.
368+
export CGO_ENABLED=0
344369
LANCE_EXTERNAL=true
345370
_build_external
346371
fi
@@ -533,6 +558,12 @@ cmd_duckdb() {
533558
# DuckDB uses "universal" for macOS (fat binary)
534559
arch="universal"
535560
fi
561+
# DuckDB uses "amd64" not "x86_64" and "arm64" not "aarch64"
562+
if [ "$arch" = "x86_64" ]; then
563+
arch="amd64"
564+
elif [ "$arch" = "aarch64" ]; then
565+
arch="arm64"
566+
fi
536567
local url="https://github.com/duckdb/duckdb/releases/download/${ver}/duckdb_cli-${os_name}-${arch}.zip"
537568
echo " Downloading DuckDB $ver for ${os_name}-${arch} ..."
538569
curl -fSL -o "$TOOLS_DIR/duckdb.zip" "$url"

run.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ ensure_venv() {
3131
echo "Run build.sh setup first."
3232
exit 1
3333
fi
34+
if [ ! -f "$VENV_PATH/bin/activate" ]; then
35+
echo "Venv exists but activate script missing at: $VENV_PATH"
36+
echo "Delete .venv/ and re-run: rm -rf .venv && ./build.sh setup"
37+
exit 1
38+
fi
3439
source "$VENV_PATH/bin/activate"
3540
}
3641

server/db/lance_cgo.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424

2525
"rss-lance/server/debug"
2626

27-
_ "github.com/marcboeker/go-duckdb"
27+
_ "github.com/marcboeker/go-duckdb/v2"
2828
)
2929

3030
// cgoStore wraps a DuckDB connection via the go-duckdb CGo driver (reads only).
@@ -1199,6 +1199,9 @@ func (s *cgoStore) logTableExists(name string) bool {
11991199
}
12001200

12011201
func (s *cgoStore) WriteLog(entry LogEntry) error {
1202+
if s.logBuf == nil {
1203+
return nil
1204+
}
12021205
s.logBuf.add(entry)
12031206
return nil
12041207
}

server/db/offline_cache.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import (
1212
"time"
1313

1414
"rss-lance/server/debug"
15-
16-
_ "github.com/marcboeker/go-duckdb"
1715
)
1816

1917
// OfflineConfig holds offline-mode settings read from the settings table.
@@ -75,7 +73,7 @@ func newOfflineCache(cfg OfflineConfig) (*offlineCache, error) {
7573
}
7674
}
7775

78-
conn, err := sql.Open("duckdb", cfg.CachePath)
76+
conn, err := openOfflineDuckDB(cfg.CachePath)
7977
if err != nil {
8078
return nil, fmt.Errorf("open offline cache %s: %w", cfg.CachePath, err)
8179
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//go:build cgo
2+
3+
package db
4+
5+
import (
6+
"database/sql"
7+
8+
_ "github.com/marcboeker/go-duckdb/v2"
9+
)
10+
11+
// openOfflineDuckDB opens the offline cache DuckDB file via the embedded
12+
// go-duckdb driver (requires CGo / GCC at build time).
13+
func openOfflineDuckDB(path string) (*sql.DB, error) {
14+
return sql.Open("duckdb", path)
15+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//go:build !cgo
2+
3+
package db
4+
5+
import (
6+
"database/sql"
7+
"fmt"
8+
)
9+
10+
// openOfflineDuckDB returns an error when CGo is not available.
11+
// The offline cache requires the go-duckdb driver which needs CGo.
12+
// Callers handle this gracefully: offCache stays nil and the server
13+
// continues without offline caching or log fallback to DuckDB.
14+
func openOfflineDuckDB(path string) (*sql.DB, error) {
15+
return nil, fmt.Errorf("offline cache unavailable: go-duckdb requires CGo (build with CGO_ENABLED=1 and GCC)")
16+
}

server/go.mod

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,38 @@
11
module rss-lance/server
22

3-
go 1.23
3+
go 1.24
44

55
require (
66
github.com/BurntSushi/toml v1.3.2
77
github.com/apache/arrow/go/v17 v17.0.0
88
github.com/lancedb/lancedb-go v0.1.2
9-
github.com/marcboeker/go-duckdb v1.8.3
9+
github.com/marcboeker/go-duckdb/v2 v2.4.3
1010
)
1111

1212
require (
13-
github.com/apache/arrow-go/v18 v18.0.0 // indirect
14-
github.com/goccy/go-json v0.10.3 // indirect
15-
github.com/google/flatbuffers v24.3.25+incompatible // indirect
16-
github.com/klauspost/compress v1.17.11 // indirect
17-
github.com/klauspost/cpuid/v2 v2.2.8 // indirect
18-
github.com/mitchellh/mapstructure v1.5.0 // indirect
19-
github.com/pierrec/lz4/v4 v4.1.21 // indirect
13+
github.com/apache/arrow-go/v18 v18.4.1 // indirect
14+
github.com/duckdb/duckdb-go-bindings v0.1.21 // indirect
15+
github.com/duckdb/duckdb-go-bindings/darwin-amd64 v0.1.21 // indirect
16+
github.com/duckdb/duckdb-go-bindings/darwin-arm64 v0.1.21 // indirect
17+
github.com/duckdb/duckdb-go-bindings/linux-amd64 v0.1.21 // indirect
18+
github.com/duckdb/duckdb-go-bindings/linux-arm64 v0.1.21 // indirect
19+
github.com/duckdb/duckdb-go-bindings/windows-amd64 v0.1.21 // indirect
20+
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
21+
github.com/goccy/go-json v0.10.5 // indirect
22+
github.com/google/flatbuffers v25.2.10+incompatible // indirect
23+
github.com/google/uuid v1.6.0 // indirect
24+
github.com/klauspost/compress v1.18.0 // indirect
25+
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
26+
github.com/marcboeker/go-duckdb/arrowmapping v0.0.21 // indirect
27+
github.com/marcboeker/go-duckdb/mapping v0.0.21 // indirect
28+
github.com/pierrec/lz4/v4 v4.1.22 // indirect
2029
github.com/zeebo/xxh3 v1.0.2 // indirect
21-
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
22-
golang.org/x/mod v0.21.0 // indirect
23-
golang.org/x/sync v0.8.0 // indirect
24-
golang.org/x/sys v0.26.0 // indirect
25-
golang.org/x/tools v0.26.0 // indirect
26-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
30+
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
31+
golang.org/x/mod v0.27.0 // indirect
32+
golang.org/x/sync v0.16.0 // indirect
33+
golang.org/x/sys v0.35.0 // indirect
34+
golang.org/x/tools v0.36.0 // indirect
35+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
2736
)
2837

2938
replace github.com/lancedb/lancedb-go => github.com/sysadminmike/lancedb-go v0.0.0-20260317063623-767933bdbab9

server/go.sum

Lines changed: 58 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,59 @@
11
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
22
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
3-
github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA=
4-
github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA=
5-
github.com/apache/arrow-go/v18 v18.0.0 h1:1dBDaSbH3LtulTyOVYaBCHO3yVRwjV+TZaqn3g6V7ZM=
6-
github.com/apache/arrow-go/v18 v18.0.0/go.mod h1:t6+cWRSmKgdQ6HsxisQjok+jBpKGhRDiqcf3p0p/F+A=
3+
github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ=
4+
github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
5+
github.com/apache/arrow-go/v18 v18.4.1 h1:q/jVkBWCJOB9reDgaIZIdruLQUb1kbkvOnOFezVH1C4=
6+
github.com/apache/arrow-go/v18 v18.4.1/go.mod h1:tLyFubsAl17bvFdUAy24bsSvA/6ww95Iqi67fTpGu3E=
77
github.com/apache/arrow/go/v17 v17.0.0 h1:RRR2bdqKcdbss9Gxy2NS/hK8i4LDMh23L6BbkN5+F54=
88
github.com/apache/arrow/go/v17 v17.0.0/go.mod h1:jR7QHkODl15PfYyjM2nU+yTLScZ/qfj7OSUZmJ8putc=
9-
github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE=
10-
github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw=
11-
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
12-
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13-
github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA=
14-
github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
15-
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
16-
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
17-
github.com/google/flatbuffers v24.3.25+incompatible h1:CX395cjN9Kke9mmalRoL3d81AtFUxJM+yDthflgJGkI=
18-
github.com/google/flatbuffers v24.3.25+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
9+
github.com/apache/thrift v0.22.0 h1:r7mTJdj51TMDe6RtcmNdQxgn9XcyfGDOzegMDRg47uc=
10+
github.com/apache/thrift v0.22.0/go.mod h1:1e7J/O1Ae6ZQMTYdy9xa3w9k+XHWPfRvdPyJeynQ+/g=
11+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
12+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13+
github.com/duckdb/duckdb-go-bindings v0.1.21 h1:bOb/MXNT4PN5JBZ7wpNg6hrj9+cuDjWDa4ee9UdbVyI=
14+
github.com/duckdb/duckdb-go-bindings v0.1.21/go.mod h1:pBnfviMzANT/9hi4bg+zW4ykRZZPCXlVuvBWEcZofkc=
15+
github.com/duckdb/duckdb-go-bindings/darwin-amd64 v0.1.21 h1:Sjjhf2F/zCjPF53c2VXOSKk0PzieMriSoyr5wfvr9d8=
16+
github.com/duckdb/duckdb-go-bindings/darwin-amd64 v0.1.21/go.mod h1:Ezo7IbAfB8NP7CqPIN8XEHKUg5xdRRQhcPPlCXImXYA=
17+
github.com/duckdb/duckdb-go-bindings/darwin-arm64 v0.1.21 h1:IUk0FFUB6dpWLhlN9hY1mmdPX7Hkn3QpyrAmn8pmS8g=
18+
github.com/duckdb/duckdb-go-bindings/darwin-arm64 v0.1.21/go.mod h1:eS7m/mLnPQgVF4za1+xTyorKRBuK0/BA44Oy6DgrGXI=
19+
github.com/duckdb/duckdb-go-bindings/linux-amd64 v0.1.21 h1:Qpc7ZE3n6Nwz30KTvaAwI6nGkXjXmMxBTdFpC8zDEYI=
20+
github.com/duckdb/duckdb-go-bindings/linux-amd64 v0.1.21/go.mod h1:1GOuk1PixiESxLaCGFhag+oFi7aP+9W8byymRAvunBk=
21+
github.com/duckdb/duckdb-go-bindings/linux-arm64 v0.1.21 h1:eX2DhobAZOgjXkh8lPnKAyrxj8gXd2nm+K71f6KV/mo=
22+
github.com/duckdb/duckdb-go-bindings/linux-arm64 v0.1.21/go.mod h1:o7crKMpT2eOIi5/FY6HPqaXcvieeLSqdXXaXbruGX7w=
23+
github.com/duckdb/duckdb-go-bindings/windows-amd64 v0.1.21 h1:hhziFnGV7mpA+v5J5G2JnYQ+UWCCP3NQ+OTvxFX10D8=
24+
github.com/duckdb/duckdb-go-bindings/windows-amd64 v0.1.21/go.mod h1:IlOhJdVKUJCAPj3QsDszUo8DVdvp1nBFp4TUJVdw99s=
25+
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
26+
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
27+
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
28+
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
29+
github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs=
30+
github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
31+
github.com/google/flatbuffers v25.2.10+incompatible h1:F3vclr7C3HpB1k9mxCGRMXq6FdUalZ6H/pNX4FP1v0Q=
32+
github.com/google/flatbuffers v25.2.10+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
33+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
34+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
1935
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
2036
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
2137
github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4=
2238
github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
23-
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
24-
github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
25-
github.com/klauspost/cpuid/v2 v2.2.8 h1:+StwCXwm9PdpiEkPyzBXIy+M9KUb4ODm0Zarf1kS5BM=
26-
github.com/klauspost/cpuid/v2 v2.2.8/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
27-
github.com/marcboeker/go-duckdb v1.8.3 h1:ZkYwiIZhbYsT6MmJsZ3UPTHrTZccDdM4ztoqSlEMXiQ=
28-
github.com/marcboeker/go-duckdb v1.8.3/go.mod h1:C9bYRE1dPYb1hhfu/SSomm78B0FXmNgRvv6YBW/Hooc=
39+
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
40+
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
41+
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
42+
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
43+
github.com/marcboeker/go-duckdb/arrowmapping v0.0.21 h1:geHnVjlsAJGczSWEqYigy/7ARuD+eBtjd0kLN80SPJQ=
44+
github.com/marcboeker/go-duckdb/arrowmapping v0.0.21/go.mod h1:flFTc9MSqQCh2Xm62RYvG3Kyj29h7OtsTb6zUx1CdK8=
45+
github.com/marcboeker/go-duckdb/mapping v0.0.21 h1:6woNXZn8EfYdc9Vbv0qR6acnt0TM1s1eFqnrJZVrqEs=
46+
github.com/marcboeker/go-duckdb/mapping v0.0.21/go.mod h1:q3smhpLyv2yfgkQd7gGHMd+H/Z905y+WYIUjrl29vT4=
47+
github.com/marcboeker/go-duckdb/v2 v2.4.3 h1:bHUkphPsAp2Bh/VFEdiprGpUekxBNZiWWtK+Bv/ljRk=
48+
github.com/marcboeker/go-duckdb/v2 v2.4.3/go.mod h1:taim9Hktg2igHdNBmg5vgTfHAlV26z3gBI0QXQOcuyI=
2949
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs=
3050
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
3151
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI=
3252
github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
33-
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
34-
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
35-
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
36-
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
37-
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
38-
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
53+
github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU=
54+
github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
55+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
56+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
3957
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
4058
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
4159
github.com/sysadminmike/lancedb-go v0.0.0-20260317063623-767933bdbab9 h1:4U2dJ07aeqjnDnYnr57Ru+hnKFA+T5fyfLdH++9DCy0=
@@ -44,20 +62,19 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
4462
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
4563
github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
4664
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
47-
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
48-
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
49-
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
50-
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
51-
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
52-
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
53-
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
54-
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
55-
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
56-
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
57-
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
58-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU=
59-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
60-
gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0=
61-
gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o=
65+
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
66+
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
67+
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
68+
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
69+
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
70+
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
71+
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
72+
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
73+
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
74+
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
75+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY=
76+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
77+
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
78+
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
6279
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
6380
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

0 commit comments

Comments
 (0)