Skip to content

build: pin datafusion-federation at spiceai/datafusion-federation#94 - #92

Merged
krinart merged 1 commit into
spiceai-55from
viktor/pin-federation-limit-pushdown
Oct 15, 2026
Merged

krinart merged 1 commit into
spiceai-55from
viktor/pin-federation-limit-pushdown

Conversation

@krinart

@krinart krinart commented Oct 15, 2026

Copy link
Copy Markdown

Pins datafusion-federation at 109661c, the spiceai-55 merge of spiceai/datafusion-federation#94, which pushes a limit into the federated scan (refs spiceai/spiceai#13770). Spice pins both forks, so they must name the same datafusion-federation revision.

Verification

Run at 400de52 on 2026-10-15:

cargo fmt --all -- --check                                                               # clean
cargo test -p datafusion-table-providers --lib --features federation sql_provider_datafusion   # 128 passed; 0 failed
cargo clippy -p datafusion-table-providers --features sqlite-federation -- -D warnings    # clean

#94 pushes a limit into the federated scan (refs spiceai/spiceai#13770).
Spice pins both forks, so they must name the same datafusion-federation
revision.
Copilot AI balanced review requested due to automatic review settings October 15, 2026 19:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approved

The manifest and lockfile consistently reference the intended revision, with no blocking issues identified.

0 open findings

What changed in this PR

Updates the federation dependency to include upstream limit pushdown support and align with Spice’s required revision.

Changes:

  • Pins datafusion-federation to 109661c.
  • Synchronizes the lockfile with the manifest.
File Description
Cargo.toml Updates the dependency revision.
Cargo.lock Records the matching Git revision.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@krinart
krinart merged commit 54d9010 into spiceai-55 Oct 15, 2026
14 of 15 checks passed
@krinart
krinart deleted the viktor/pin-federation-limit-pushdown branch October 15, 2026 19:43
@krinart krinart self-assigned this Oct 15, 2026
krinart added a commit to spiceai/spiceai that referenced this pull request Oct 15, 2026
…ks, not a Spice rule

A LIMIT, or the fetch of an ORDER BY ... LIMIT, above a projection a source
refuses now reaches the federated scan beneath it through the physical plan,
so the remote SQL carries it with no derived table:

- spiceai/datafusion#260 (cf084aa): PushdownSort carries an eliminated
  sort's fetch through the single-input round-robin repartition the planner
  puts above a single-partition scan. The pin also brings #259, which keeps
  placeholder type inference linear in the depth of an expression.
- spiceai/datafusion-federation#94 (109661c): VirtualExecutionPlan takes the
  limit into its SQL, and SchemaCastScanExec passes it through.
- spiceai/datafusion-table-providers#92 (54d9010): moves its
  datafusion-federation pin with it.

This replaces PushLimitBelowProjection, which rewrote the logical plan to
move the limit below the projection and read the limited rows back as a
derived table. The guards are in federation::tests::scan_pushdown, and the
fork ledger records each patch and its guard.
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