Skip to content

fix(inspector): use actual query plan generated by table source - #5990

Merged
tantaman merged 3 commits into
mainfrom
mlaw/fix-bindings
May 15, 2026
Merged

fix(inspector): use actual query plan generated by table source#5990
tantaman merged 3 commits into
mainfrom
mlaw/fix-bindings

Conversation

@tantaman

@tantaman tantaman commented May 15, 2026

Copy link
Copy Markdown
Contributor

Use the plan from the query that was prepared by table source itself rather than re-preparing. This will prevent future divergences if table-source ends up inlining parameters to get better plans. E.g., LIKE ? vs LIKE '%inlined' produce different plans. The former being a worse plan than the latter.

Additionally, stop injecting the random sdf value which created divergent plans than what were actually used.

@vercel

vercel Bot commented May 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
replicache-docs Ready Ready Preview, Comment May 15, 2026 6:51pm
zbugs Ready Ready Preview, Comment May 15, 2026 6:51pm

Request Review

@tantaman tantaman changed the title fix(zql-analyze): use actual query plan generated by table source fix(inspector): use actual query plan generated by table source May 15, 2026
@github-actions

github-actions Bot commented May 15, 2026

Copy link
Copy Markdown

🐰 Bencher Report

Branchmlaw/fix-bindings
TestbedLinux
Click to view all benchmark results
BenchmarkFile SizeBenchmark Result
kilobytes (KB)
(Result Δ%)
Upper Boundary
kilobytes (KB)
(Limit %)
zero-package.tgz📈 view plot
🚷 view threshold
2,113.12 KB
(+0.04%)Baseline: 2,112.20 KB
2,154.44 KB
(98.08%)
zero.js📈 view plot
🚷 view threshold
280.07 KB
(0.00%)Baseline: 280.07 KB
285.67 KB
(98.04%)
zero.js.br📈 view plot
🚷 view threshold
74.39 KB
(0.00%)Baseline: 74.39 KB
75.88 KB
(98.04%)
🐰 View full continuous benchmarking report in Bencher

@github-actions

github-actions Bot commented May 15, 2026

Copy link
Copy Markdown

🐰 Bencher Report

Branchmlaw/fix-bindings
Testbedself-hosted-metal

🚨 1 Alert

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Lower Boundary
(Limit %)
src/client/zero.bench.ts > pk compare > pk = NThroughput
operations / second (ops/s) x 1e3
📈 plot
🚷 threshold
🚨 alert (🔔)
18.26 ops/s x 1e3
(-7.00%)Baseline: 19.64 ops/s x 1e3
18.46 ops/s x 1e3
(101.08%)

Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s) x 1e3
(Result Δ%)
Lower Boundary
operations / second (ops/s) x 1e3
(Limit %)
src/client/custom.bench.ts > big schema📈 view plot
🚷 view threshold
35.50 ops/s x 1e3
(+0.75%)Baseline: 35.24 ops/s x 1e3
33.34 ops/s x 1e3
(93.93%)
src/client/zero.bench.ts > basics > All 1000 rows x 10 columns (numbers)📈 view plot
🚷 view threshold
1.10 ops/s x 1e3
(+0.60%)Baseline: 1.09 ops/s x 1e3
1.01 ops/s x 1e3
(91.62%)
src/client/zero.bench.ts > pk compare > pk = N📈 view plot
🚷 view threshold
🚨 view alert (🔔)
18.26 ops/s x 1e3
(-7.00%)Baseline: 19.64 ops/s x 1e3
18.46 ops/s x 1e3
(101.08%)

src/client/zero.bench.ts > with filter > Lower rows 500 x 10 columns (numbers)📈 view plot
🚷 view threshold
1.51 ops/s x 1e3
(+0.89%)Baseline: 1.50 ops/s x 1e3
1.24 ops/s x 1e3
(82.23%)
🐰 View full continuous benchmarking report in Bencher

@github-actions

github-actions Bot commented May 15, 2026

Copy link
Copy Markdown

🐰 Bencher Report

Branchmlaw/fix-bindings
Testbedself-hosted-metal
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/db/pg-copy.bench.ts > pg-copy benchmark > copy📈 view plot
🚷 view threshold
18.04 ops/s
(+0.28%)Baseline: 17.99 ops/s
17.62 ops/s
(97.67%)
🐰 View full continuous benchmarking report in Bencher

@github-actions

github-actions Bot commented May 15, 2026

Copy link
Copy Markdown

🐰 Bencher Report

Branchmlaw/fix-bindings
Testbedself-hosted-metal

🚨 1 Alert

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Lower Boundary
(Limit %)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (256B)Throughput
operations / second (ops/s) x 1e6
📈 plot
🚷 threshold
🚨 alert (🔔)
4.72 ops/s x 1e6
(-0.80%)Baseline: 4.76 ops/s x 1e6
4.72 ops/s x 1e6
(100.06%)

Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
src/btree-set.bench.ts > BTreeSet iterator next() in isolation > forward iterator next()📈 view plot
🚷 view threshold
36,636.76 ops/s
(+0.08%)Baseline: 36,607.53 ops/s
35,497.51 ops/s
(96.89%)
src/btree-set.bench.ts > BTreeSet iterator next() in isolation > forward iterator next() from mid📈 view plot
🚷 view threshold
72,670.05 ops/s
(+1.77%)Baseline: 71,403.77 ops/s
69,360.25 ops/s
(95.45%)
src/btree-set.bench.ts > BTreeSet iterator next() in isolation > reverse iterator next()📈 view plot
🚷 view threshold
38,298.43 ops/s
(+0.40%)Baseline: 38,144.69 ops/s
37,064.34 ops/s
(96.78%)
src/btree-set.bench.ts > BTreeSet iterator next() in isolation > reverse iterator next() from mid📈 view plot
🚷 view threshold
75,052.98 ops/s
(-0.03%)Baseline: 75,073.40 ops/s
73,447.64 ops/s
(97.86%)
src/btree-set.bench.ts > BTreeSet iterators > [Symbol.iterator]() full scan📈 view plot
🚷 view threshold
40,820.33 ops/s
(-0.09%)Baseline: 40,857.15 ops/s
40,044.21 ops/s
(98.10%)
src/btree-set.bench.ts > BTreeSet iterators > values() full scan📈 view plot
🚷 view threshold
40,079.34 ops/s
(+0.18%)Baseline: 40,008.86 ops/s
39,364.26 ops/s
(98.22%)
src/btree-set.bench.ts > BTreeSet iterators > valuesFrom() from mid📈 view plot
🚷 view threshold
80,849.27 ops/s
(+2.10%)Baseline: 79,183.69 ops/s
75,925.38 ops/s
(93.91%)
src/btree-set.bench.ts > BTreeSet iterators > valuesFromReversed() from mid📈 view plot
🚷 view threshold
82,069.87 ops/s
(+0.03%)Baseline: 82,042.28 ops/s
81,034.27 ops/s
(98.74%)
src/btree-set.bench.ts > BTreeSet iterators > valuesReversed() full scan📈 view plot
🚷 view threshold
41,393.87 ops/s
(+0.19%)Baseline: 41,314.75 ops/s
40,798.17 ops/s
(98.56%)
src/btree-set.bench.ts > BTreeSet lookups > get() hit📈 view plot
🚷 view threshold
4,351,460.94 ops/s
(-0.30%)Baseline: 4,364,600.83 ops/s
4,333,253.59 ops/s
(99.58%)
src/btree-set.bench.ts > BTreeSet lookups > has() hit📈 view plot
🚷 view threshold
4,411,651.73 ops/s
(+0.52%)Baseline: 4,389,005.53 ops/s
4,320,348.23 ops/s
(97.93%)
src/btree-set.bench.ts > BTreeSet lookups > has() miss📈 view plot
🚷 view threshold
6,540,928.49 ops/s
(+0.42%)Baseline: 6,513,406.61 ops/s
6,345,951.05 ops/s
(97.02%)
src/btree-set.bench.ts > BTreeSet mutations > add() 100 sequential keys📈 view plot
🚷 view threshold
38,239.97 ops/s
(+0.85%)Baseline: 37,918.10 ops/s
37,188.84 ops/s
(97.25%)
src/btree-set.bench.ts > BTreeSet mutations > add() 1000 sequential keys📈 view plot
🚷 view threshold
3,436.16 ops/s
(+2.66%)Baseline: 3,347.13 ops/s
3,200.44 ops/s
(93.14%)
src/btree-set.bench.ts > BTreeSet mutations > add() then delete() single key📈 view plot
🚷 view threshold
1,936,501.94 ops/s
(+0.52%)Baseline: 1,926,462.89 ops/s
1,891,540.93 ops/s
(97.68%)
src/btree-set.bench.ts > BTreeSet mutations > fromSorted() 100 sequential keys📈 view plot
🚷 view threshold
454,333.05 ops/s
(-0.49%)Baseline: 456,578.58 ops/s
443,973.20 ops/s
(97.72%)
src/btree-set.bench.ts > BTreeSet mutations > fromSorted() 1000 sequential keys📈 view plot
🚷 view threshold
48,321.21 ops/s
(-0.40%)Baseline: 48,516.26 ops/s
47,019.26 ops/s
(97.31%)
src/btree-set.bench.ts > BTreeSet mutations > getOrCreateIndex pattern (new): sort + fromSorted()📈 view plot
🚷 view threshold
21,674.45 ops/s
(+0.42%)Baseline: 21,584.51 ops/s
20,705.43 ops/s
(95.53%)
src/btree-set.bench.ts > BTreeSet mutations > getOrCreateIndex pattern (old): add() loop after sort📈 view plot
🚷 view threshold
2,539.67 ops/s
(+2.19%)Baseline: 2,485.33 ops/s
2,427.52 ops/s
(95.58%)
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > large array (100 items)📈 view plot
🚷 view threshold
576,451.65 ops/s
(+0.16%)Baseline: 575,520.87 ops/s
573,502.67 ops/s
(99.49%)
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > small array (10 items)📈 view plot
🚷 view threshold
4,519,412.74 ops/s
(+0.41%)Baseline: 4,500,916.82 ops/s
4,477,327.98 ops/s
(99.07%)
src/size-of-value.bench.ts > getSizeOfValue performance > datasets > large dataset (100x512B)📈 view plot
🚷 view threshold
45,626.17 ops/s
(-0.70%)Baseline: 45,948.26 ops/s
45,494.22 ops/s
(99.71%)
src/size-of-value.bench.ts > getSizeOfValue performance > datasets > small dataset (10x256B)📈 view plot
🚷 view threshold
449,314.40 ops/s
(-1.03%)Baseline: 453,985.96 ops/s
448,580.79 ops/s
(99.84%)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > nested object📈 view plot
🚷 view threshold
3,110,465.06 ops/s
(-0.15%)Baseline: 3,115,160.68 ops/s
3,085,714.43 ops/s
(99.20%)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (1KB)📈 view plot
🚷 view threshold
4,752,144.98 ops/s
(-0.07%)Baseline: 4,755,261.72 ops/s
4,722,333.56 ops/s
(99.37%)
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (256B)📈 view plot
🚷 view threshold
🚨 view alert (🔔)
4,720,927.67 ops/s
(-0.80%)Baseline: 4,759,214.62 ops/s
4,723,899.54 ops/s
(100.06%)

src/size-of-value.bench.ts > getSizeOfValue performance > primitives > boolean📈 view plot
🚷 view threshold
137,462,289.51 ops/s
(+0.17%)Baseline: 137,231,318.51 ops/s
135,329,483.01 ops/s
(98.45%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > integer📈 view plot
🚷 view threshold
98,834,197.89 ops/s
(-0.08%)Baseline: 98,908,482.23 ops/s
98,318,067.76 ops/s
(99.48%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > null📈 view plot
🚷 view threshold
120,029,664.32 ops/s
(+0.97%)Baseline: 118,873,588.74 ops/s
116,239,282.16 ops/s
(96.84%)
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > string (100 chars)📈 view plot
🚷 view threshold
641,154.18 ops/s
(-0.89%)Baseline: 646,912.91 ops/s
633,235.27 ops/s
(98.76%)
src/tdigest.bench.ts > TDigest Benchmarks > add📈 view plot
🚷 view threshold
1.46 ops/s
(+0.85%)Baseline: 1.44 ops/s
1.38 ops/s
(94.52%)
src/tdigest.bench.ts > TDigest Benchmarks > addCentroid📈 view plot
🚷 view threshold
1.40 ops/s
(+0.76%)Baseline: 1.39 ops/s
1.34 ops/s
(95.62%)
src/tdigest.bench.ts > TDigest Benchmarks > addCentroidList📈 view plot
🚷 view threshold
1.40 ops/s
(+0.86%)Baseline: 1.39 ops/s
1.34 ops/s
(95.69%)
src/tdigest.bench.ts > TDigest Benchmarks > merge > addCentroid📈 view plot
🚷 view threshold
12,090.82 ops/s
(-1.02%)Baseline: 12,214.87 ops/s
11,912.50 ops/s
(98.53%)
src/tdigest.bench.ts > TDigest Benchmarks > merge > merge📈 view plot
🚷 view threshold
14,538.17 ops/s
(-0.87%)Baseline: 14,665.85 ops/s
14,420.85 ops/s
(99.19%)
src/tdigest.bench.ts > TDigest Benchmarks > quantile📈 view plot
🚷 view threshold
1.47 ops/s
(+0.16%)Baseline: 1.46 ops/s
1.36 ops/s
(92.96%)
🐰 View full continuous benchmarking report in Bencher

@github-actions

github-actions Bot commented May 15, 2026

Copy link
Copy Markdown

🐰 Bencher Report

Branchmlaw/fix-bindings
Testbedself-hosted-metal

⚠️ WARNING: Truncated view!

The full continuous benchmarking report exceeds the maximum length allowed on this platform.

🐰 View full continuous benchmarking report in Bencher

@tantaman
tantaman enabled auto-merge May 15, 2026 16:26
@tantaman
tantaman requested a review from arv May 15, 2026 16:26
@tantaman
tantaman added this pull request to the merge queue May 15, 2026
Merged via the queue into main with commit fc56a73 May 15, 2026
25 of 27 checks passed
@tantaman
tantaman deleted the mlaw/fix-bindings branch May 15, 2026 19:17

@arv arv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants