Skip to content

Gene.bordegaray/2026/02/partiton index dyn filter#84

Closed
gene-bordegaray wants to merge 2707 commits intomainfrom
gene.bordegaray/2026/02/partiton_index_dyn_filter
Closed

Gene.bordegaray/2026/02/partiton index dyn filter#84
gene-bordegaray wants to merge 2707 commits intomainfrom
gene.bordegaray/2026/02/partiton_index_dyn_filter

Conversation

@gene-bordegaray
Copy link

Which issue does this PR close?

  • Closes #.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

cht42 and others added 30 commits January 19, 2026 05:33
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#19844
- Part of apache#15914 

## Rationale for this change

Add support for spark
https://spark.apache.org/docs/latest/api/sql/index.html#date_diff
function

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

yes in SLT

## Are there any user-facing changes?

 yes
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986

## Rationale for this change

The round function currently converts scalar inputs to arrays before
processing, even when both value and decimal_places are scalar values.
This adds unnecessary overhead for constant folding scenarios like

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

- Add scalar fast path in RoundFunc::invoke_with_args for Float64 and
Float32 inputs
- Directly compute the result when both inputs are scalars, avoiding
array conversion overhead
- Add benchmark

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes


Type | Before | After | Speedup
-- | -- | -- | --
round_f64_scalar | 570 ns | 195 ns | 2.9x
round_f32_scalar | 564 ns | 192 ns | 2.9x

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
Bumps [wasm-bindgen-test](https://github.com/wasm-bindgen/wasm-bindgen)
from 0.3.56 to 0.3.58.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/wasm-bindgen/wasm-bindgen/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wasm-bindgen-test&package-manager=cargo&previous-version=0.3.56&new-version=0.3.58)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tokio-postgres](https://github.com/rust-postgres/rust-postgres)
from 0.7.15 to 0.7.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-postgres/rust-postgres/releases">tokio-postgres's
releases</a>.</em></p>
<blockquote>
<h2>tokio-postgres v0.7.16</h2>
<h3>Added</h3>
<ul>
<li>Added <code>Client::query_scalar</code>,
<code>Client::query_one_scalar</code>, and
<code>Client::query_opt_scalar</code> methods.</li>
<li>Added <code>Row::raw_size_bytes</code> method.</li>
<li>Added <code>Column::type_modifier</code> method.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Upgraded <code>whoami</code> to v2.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/b7f2cf0891c1a30b37f7df3ae3f1960affc036f3"><code>b7f2cf0</code></a>
Release tokio-postgres v0.7.16</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/b0a62a556ea2eade2cb44fbad2bd7f3a5b74cc71"><code>b0a62a5</code></a>
Release postgres-types v0.2.12</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/36f7dcda3503f257becbc3d0d30ee5c589c99118"><code>36f7dcd</code></a>
Release postgres-protocol v0.6.10</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/46ea55ca800bad5dc647bd8d4cfba1deffb78ce7"><code>46ea55c</code></a>
chore(ci): use committed lockfile</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/167084dbe55496a57ab3331a6a50acc2b2d99b6b"><code>167084d</code></a>
build: commit lockfile</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/f187cc511f952b1c4a8df3e879233a22f29ca7bc"><code>f187cc5</code></a>
build(deps): upgrade <code>whoami</code> to v2</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/ac029de5b7e2e96c490f40a32dfd4016f346e624"><code>ac029de</code></a>
Add support for scalar queries.</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/c7a615cc0164961f2ea85c4368eda6bcf1038594"><code>c7a615c</code></a>
fix(postgres-protocol): increase bind parameter limit from i16::MAX to
u16::MAX</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/83e0dfbb8a231dbf34c88fc86b9c21824d98ef32"><code>83e0dfb</code></a>
build: further improve -Zminimal-versions support</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/117872c72101bd5db239136a7e305a9412811986"><code>117872c</code></a>
fix: broken build caused by <a
href="https://redirect.github.com/rust-postgres/rust-postgres/issues/1145">#1145</a></li>
<li>Additional commits viewable in <a
href="https://github.com/rust-postgres/rust-postgres/compare/tokio-postgres-v0.7.15...tokio-postgres-v0.7.16">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-postgres&package-manager=cargo&previous-version=0.7.15&new-version=0.7.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [postgres-types](https://github.com/rust-postgres/rust-postgres)
from 0.2.11 to 0.2.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-postgres/rust-postgres/releases">postgres-types's
releases</a>.</em></p>
<blockquote>
<h2>postgres-types v0.2.12</h2>
<h3>Added</h3>
<ul>
<li>Added <code>ToSql</code> implementation for
<code>Box&lt;T&gt;</code> where <code>T: ToSql</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/b0a62a556ea2eade2cb44fbad2bd7f3a5b74cc71"><code>b0a62a5</code></a>
Release postgres-types v0.2.12</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/36f7dcda3503f257becbc3d0d30ee5c589c99118"><code>36f7dcd</code></a>
Release postgres-protocol v0.6.10</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/46ea55ca800bad5dc647bd8d4cfba1deffb78ce7"><code>46ea55c</code></a>
chore(ci): use committed lockfile</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/167084dbe55496a57ab3331a6a50acc2b2d99b6b"><code>167084d</code></a>
build: commit lockfile</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/f187cc511f952b1c4a8df3e879233a22f29ca7bc"><code>f187cc5</code></a>
build(deps): upgrade <code>whoami</code> to v2</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/ac029de5b7e2e96c490f40a32dfd4016f346e624"><code>ac029de</code></a>
Add support for scalar queries.</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/c7a615cc0164961f2ea85c4368eda6bcf1038594"><code>c7a615c</code></a>
fix(postgres-protocol): increase bind parameter limit from i16::MAX to
u16::MAX</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/83e0dfbb8a231dbf34c88fc86b9c21824d98ef32"><code>83e0dfb</code></a>
build: further improve -Zminimal-versions support</li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/117872c72101bd5db239136a7e305a9412811986"><code>117872c</code></a>
fix: broken build caused by <a
href="https://redirect.github.com/rust-postgres/rust-postgres/issues/1145">#1145</a></li>
<li><a
href="https://github.com/rust-postgres/rust-postgres/commit/18022c03ef32bc6b1c28f7c120f46cf503674d4c"><code>18022c0</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-postgres/rust-postgres/issues/1145">#1145</a>
from splitgraph/feat/type-modifier</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-postgres/rust-postgres/compare/postgres-types-v0.2.11...postgres-types-v0.2.12">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=postgres-types&package-manager=cargo&previous-version=0.2.11&new-version=0.2.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.46.0 to 1.46.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mitsuhiko/insta/releases">insta's
releases</a>.</em></p>
<blockquote>
<h2>1.46.1</h2>
<h2>Release Notes</h2>
<ul>
<li>Fix inline snapshot corruption when multiple snapshots appear inside
<code>with_settings!</code> macro. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/858">#858</a></li>
</ul>
<h2>Install cargo-insta 1.46.1</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm
https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-installer.ps1
| iex&quot;
</code></pre>
<h2>Download cargo-insta 1.46.1</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-aarch64-apple-darwin.tar.xz">cargo-insta-aarch64-apple-darwin.tar.xz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-aarch64-apple-darwin.tar.xz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-apple-darwin.tar.xz">cargo-insta-x86_64-apple-darwin.tar.xz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-apple-darwin.tar.xz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-pc-windows-msvc.zip">cargo-insta-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-unknown-linux-gnu.tar.xz">cargo-insta-x86_64-unknown-linux-gnu.tar.xz</a></td>
<td>x64 Linux</td>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-unknown-linux-musl.tar.xz">cargo-insta-x86_64-unknown-linux-musl.tar.xz</a></td>
<td>x64 MUSL Linux</td>
<td><a
href="https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-x86_64-unknown-linux-musl.tar.xz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md">insta's
changelog</a>.</em></p>
<blockquote>
<h2>1.46.1</h2>
<ul>
<li>Fix inline snapshot corruption when multiple snapshots appear inside
<code>with_settings!</code> macro. <a
href="https://redirect.github.com/mitsuhiko/insta/issues/858">#858</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mitsuhiko/insta/commit/8a5b77531f89bc78d00cab17f2ac8b2c69ceadab"><code>8a5b775</code></a>
Release 1.46.1 (<a
href="https://redirect.github.com/mitsuhiko/insta/issues/859">#859</a>)</li>
<li><a
href="https://github.com/mitsuhiko/insta/commit/822f404d0a5e2b5bfe3381505861f010e23350bc"><code>822f404</code></a>
Fix inline snapshot corruption with multiple snapshots in with_settings!
(<a
href="https://redirect.github.com/mitsuhiko/insta/issues/858">#858</a>)</li>
<li>See full diff in <a
href="https://github.com/mitsuhiko/insta/compare/1.46.0...1.46.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=insta&package-manager=cargo&previous-version=1.46.0&new-version=1.46.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…e#19883)

Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.66.5 to 2.66.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.66.7</h2>
<ul>
<li>
<p>Update <code>prek@latest</code> to 0.2.30.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.151.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2026.1.4.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.23.3.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.22.0.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.35.1.</p>
</li>
</ul>
<h2>2.66.6</h2>
<ul>
<li>
<p>Update <code>prek@latest</code> to 0.2.29.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.21.0.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.40.1.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.26.</p>
</li>
<li>
<p>Update <code>cargo-insta@latest</code> to 1.46.1.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<h2>[2.66.7] - 2026-01-19</h2>
<ul>
<li>
<p>Update <code>prek@latest</code> to 0.2.30.</p>
</li>
<li>
<p>Update <code>release-plz@latest</code> to 0.3.151.</p>
</li>
<li>
<p>Update <code>mise@latest</code> to 2026.1.4.</p>
</li>
<li>
<p>Update <code>vacuum@latest</code> to 0.23.3.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.22.0.</p>
</li>
<li>
<p>Update <code>cargo-tarpaulin@latest</code> to 0.35.1.</p>
</li>
</ul>
<h2>[2.66.6] - 2026-01-16</h2>
<ul>
<li>
<p>Update <code>prek@latest</code> to 0.2.29.</p>
</li>
<li>
<p>Update <code>zizmor@latest</code> to 1.21.0.</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.40.1.</p>
</li>
<li>
<p>Update <code>uv@latest</code> to 0.9.26.</p>
</li>
<li>
<p>Update <code>cargo-insta@latest</code> to 1.46.1.</p>
</li>
</ul>
<h2>[2.66.5] - 2026-01-15</h2>
<ul>
<li>
<p>Update <code>wasm-bindgen@latest</code> to 0.2.108.</p>
</li>
<li>
<p>Update <code>osv-scanner@latest</code> to 2.3.2.</p>
</li>
</ul>
<h2>[2.66.4] - 2026-01-14</h2>
<ul>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.122.</p>
</li>
<li>
<p>Update <code>wasmtime@latest</code> to 40.0.2.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/taiki-e/install-action/commit/542cebaaed782771e619bd5609d97659d109c492"><code>542ceba</code></a>
Release 2.66.7</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/784e3a87b23ce55bde9710aca078630db3a3e470"><code>784e3a8</code></a>
Update changelog</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/cf11c1ce9009ae6c08efe8ff8b9e14c1194d6627"><code>cf11c1c</code></a>
Update <code>prek@latest</code> to 0.2.30</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/3e7bc0cb62d6c7cf0f09adf7c8a8a0d36e85aca3"><code>3e7bc0c</code></a>
Update <code>release-plz@latest</code> to 0.3.151</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/6c6cda9c7602c0c88e9e66c9e5bf567177681232"><code>6c6cda9</code></a>
Update <code>mise@latest</code> to 2026.1.4</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/a16894ce6777a58090856eb8bb657efb0f84faa3"><code>a16894c</code></a>
Update <code>vacuum@latest</code> to 0.23.3</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/ddff92bc0d04cc0f535bb2b0c4dbdac4b262d14e"><code>ddff92b</code></a>
Update <code>zizmor@latest</code> to 1.22.0</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/e05537c44327925f7ac10d82b5d89beb226bf245"><code>e05537c</code></a>
Update <code>mise@latest</code> to 2026.1.3</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/e6d3e931a36bc0d95fbd39785eae654a56375bb7"><code>e6d3e93</code></a>
Update <code>cargo-tarpaulin@latest</code> to 0.35.1</li>
<li><a
href="https://github.com/taiki-e/install-action/commit/50332096a7925151b562cb68f881d587caf3e786"><code>5033209</code></a>
Address zizmor lint change</li>
<li>Additional commits viewable in <a
href="https://github.com/taiki-e/install-action/compare/2e9d707ef49c9b094d45955b60c7e5c0dfedeb14...542cebaaed782771e619bd5609d97659d109c492">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.66.5&new-version=2.66.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Merged CTE reference resolution tests into main cte.slt file
- Added CREATE TABLE statement for orders table used in tests
- Fixed 3 case-sensitivity issues: changed 'WHERE N < 10' to 'WHERE n <
10'

Fixes apache#19786

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->
- Closes apache#19786

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->
This PR consolidates the small test file `cte_quoted_reference.slt` into
the main `cte.slt` file as requested in issue apache#19786. The separate file
was small enough that it didn't need to be maintained independently, and
consolidating it improves code organization and maintainability.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->
- Merged CTE reference resolution tests from `cte_quoted_reference.slt`
into `cte.slt`
- Added `CREATE TABLE orders AS VALUES (1), (2);` statement to support
the merged tests
- Fixed 3 pre-existing case-sensitivity bugs by changing `WHERE N < 10`
to `WHERE n < 10` in recursive CTE tests
- Deleted `cte_quoted_reference.slt` as it's now consolidated into the
main file

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Yes, all changes are tested:
- The consolidated tests from `cte_quoted_reference.slt` are now part of
the `cte.slt` test suite
- All sqllogictest tests pass successfully: `cargo test --test
sqllogictests -- cte`
- The case-sensitivity fixes ensure that field references match their
definitions (lowercase `n`)


## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->
No, there are no user-facing changes. This is purely a test file
reorganization that improves code maintainability without affecting
DataFusion's functionality or API.


<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

Co-authored-by: Anjali Choudhary <anjalicy@amazon.com>
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 8.2.3 to
9.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sphinx-doc/sphinx/releases">sphinx's
releases</a>.</em></p>
<blockquote>
<h2>Sphinx 9.1.0</h2>
<p>Changelog: <a
href="https://www.sphinx-doc.org/en/master/changes.html">https://www.sphinx-doc.org/en/master/changes.html</a></p>
<h2>Dependencies</h2>
<ul>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14153">#14153</a>:
Drop Python 3.11 support.</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/12555">#12555</a>:
Drop Docutils 0.20 support.
Patch by Adam Turner</li>
</ul>
<h2>Features added</h2>
<ul>
<li>Add <code>add_static_dir()</code> for copying static
assets from extensions to the build output.
Patch by Jared Dillard</li>
</ul>
<h2>Bugs fixed</h2>
<ul>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14189">#14189</a>:
autodoc: Fix duplicate <code>:no-index-entry:</code> for modules.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/13713">#13713</a>:
Fix compatibility with MyST-Parser.
Patch by Adam Turner</li>
<li>Fix tests for Python 3.15.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14089">#14089</a>:
autodoc: Fix default option parsing.
Patch by Adam Turner</li>
<li>Remove incorrect static typing assertions.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14050">#14050</a>:
LaTeXTranslator fails to build documents using the &quot;acronym&quot;
standard role.
Patch by Günter Milde</li>
<li>LaTeX: Fix rendering for grid filled merged vertical cell.
Patch by Tim Nordell</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14228">#14228</a>:
LaTeX: Fix overrun footer for cases of merged vertical table cells.
Patch by Tim Nordell</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14207">#14207</a>:
Fix creating <code>HTMLThemeFactory</code> objects in third-party
extensions.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/3099">#3099</a>:
LaTeX: PDF build crashes if a code-block contains more than
circa 1350 codelines (about 27 a4-sized pages at default pointsize).
Patch by Jean-François B.</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14064">#14064</a>:
LaTeX: TABs ending up in sphinxVerbatim fail to obey tab stops.
Patch by Jean-François B.</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14089">#14089</a>:
autodoc: Improve support for non-weakreferencable objects.
Patch by Adam Turner</li>
<li>LaTeX: Fix accidental removal at <code>3.5.0</code> (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/8854">#8854</a>)
of the documentation of
<code>literalblockcappos</code> key of  sphinxsetup.
Patch by Jean-François B.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst">sphinx's
changelog</a>.</em></p>
<blockquote>
<h1>Release 9.1.0 (released Dec 31, 2025)</h1>
<h2>Dependencies</h2>
<ul>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14153">#14153</a>:
Drop Python 3.11 support.</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/12555">#12555</a>:
Drop Docutils 0.20 support.
Patch by Adam Turner</li>
</ul>
<h2>Features added</h2>
<ul>
<li>Add :meth:<code>~sphinx.application.Sphinx.add_static_dir</code> for
copying static
assets from extensions to the build output.
Patch by Jared Dillard</li>
</ul>
<h2>Bugs fixed</h2>
<ul>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14189">#14189</a>:
autodoc: Fix duplicate <code>:no-index-entry:</code> for modules.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/13713">#13713</a>:
Fix compatibility with MyST-Parser.
Patch by Adam Turner</li>
<li>Fix tests for Python 3.15.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14089">#14089</a>:
autodoc: Fix default option parsing.
Patch by Adam Turner</li>
<li>Remove incorrect static typing assertions.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14050">#14050</a>:
LaTeXTranslator fails to build documents using the &quot;acronym&quot;
standard role.
Patch by Günter Milde</li>
<li>LaTeX: Fix rendering for grid filled merged vertical cell.
Patch by Tim Nordell</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14228">#14228</a>:
LaTeX: Fix overrun footer for cases of merged vertical table cells.
Patch by Tim Nordell</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14207">#14207</a>:
Fix creating <code>HTMLThemeFactory</code> objects in third-party
extensions.
Patch by Adam Turner</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/3099">#3099</a>:
LaTeX: PDF build crashes if a code-block contains more than
circa 1350 codelines (about 27 a4-sized pages at default pointsize).
Patch by Jean-François B.</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14064">#14064</a>:
LaTeX: TABs ending up in sphinxVerbatim fail to obey tab stops.
Patch by Jean-François B.</li>
<li><a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14089">#14089</a>:
autodoc: Improve support for non-weakreferencable objects.
Patch by Adam Turner</li>
<li>LaTeX: Fix accidental removal at <code>3.5.0</code> (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/8854">#8854</a>)
of the documentation of
<code>literalblockcappos</code> key of :ref:<code>'sphinxsetup'
&lt;latexsphinxsetup&gt;</code>.
Patch by Jean-François B.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/cc7c6f435ad37bb12264f8118c8461b230e6830c"><code>cc7c6f4</code></a>
Bump to 9.1.0 final</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/b127b9478aa4654a82eeadf1a1e89715d3927608"><code>b127b94</code></a>
Add <code>app.add_static_dir()</code> for copying extension static files
(<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14219">#14219</a>)</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/20f1c46790d370b50fa7396cca3e1cc658ce9f89"><code>20f1c46</code></a>
LaTeX: Inhibit breaks for rows with merged vertical cells (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14227">#14227</a>)</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/3c85411fd06a1c3026f7991818312e5358ef52e5"><code>3c85411</code></a>
Polish CHANGES.rst (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14225">#14225</a>)</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/9ee5446c6cfb997a6b92f5cfb84d045ec947417a"><code>9ee5446</code></a>
LaTeX: restore 1.7 documentation of literalblockcappos (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14224">#14224</a>)</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/d75d602005be7567abc7741ee777f6f8c302d827"><code>d75d602</code></a>
LaTeX: improve (again...) some code comments in time for 9.1.0 (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14222">#14222</a>)</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/8dca61d69a4a05c56702980e4f6cbe6451dd9ebc"><code>8dca61d</code></a>
Improve some LaTeX code comments (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14220">#14220</a>)</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/8ab960098a8e12b8893bd3ceafc394759118346b"><code>8ab9600</code></a>
Bump to 9.1.0 candidate 2</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/d59b2375945ed04414a11b0adb3e5655525f3e9e"><code>d59b237</code></a>
autodoc: Improve support for non-weakreferencable objects</li>
<li><a
href="https://github.com/sphinx-doc/sphinx/commit/964424b3dbc92ed1718272fd45123878f3eec14d"><code>964424b</code></a>
Use the correct reference for using existing extensions (<a
href="https://redirect.github.com/sphinx-doc/sphinx/issues/14157">#14157</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/sphinx-doc/sphinx/compare/v8.2.3...v9.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sphinx&package-manager=pip&previous-version=8.2.3&new-version=9.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeffrey Vo <jeffrey.vo.australia@gmail.com>
…e#19904)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache#19798

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

This is an edge case, would prefer to fix upstream in arrow-rs instead
of having handling code here, so just disable test for now.

- arrow-rs issue: apache/arrow-rs#9227

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

Disable edge-case array_union SLT

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Test related change

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

No.

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache#15914
- Closes apache#19710

## Rationale for this change

Implementation of spark `add_months` function.



## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?
yes

## Are there any user-facing changes?

yes
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986

## Rationale for this change

The signum function currently converts scalar inputs to arrays before
processing, even for single scalar values. This adds unnecessary
overhead from array allocation and conversion. Adding a scalar fast path
avoids this overhead and improves performance for constant folding and
scalar expression evaluation.

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

- Added scalar fast path for `float32` and `float64`

| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **signum_f64_scalar** | 266 ns | 54 ns | **4.9x** |
| **signum_f32_scalar** | 263 ns | 55 ns | **4.8x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Co-authored-by: Jeffrey Vo <jeffrey.vo.australia@gmail.com>
…ow frame queries (apache#19887)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#19612.

## Rationale for this change

The `DistinctMedianAccumulator::evaluate()` method was using
`std::mem::take()` which consumed the internal state, causing subsequent
calls to return incorrect results. This was the last remaining item from
apache#19612

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

1. Changed `DistinctMedianAccumulator::evaluate()` to use `.iter()`
instead of `std::mem::take()` to preserve internal state across multiple
calls
2. Added sqllogictest case for distinct median with window frames

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes, added a sqllogictest

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

- Closes apache#19735.

## Rationale for this change

The `SingleDistinctToGroupBy` optimizer rewrites aggregate functions
with `DISTINCT` into a `GROUP BY` operation for better performance.
However, during this rewrite, it was discarding important aggregate
function parameters: `null_treatment`, `filter`, and `order_by`.

This caused queries like `ARRAY_AGG(DISTINCT x IGNORE NULLS)` to include
NULL values in the result because the `IGNORE NULLS` clause (stored as
null_treatment) was being lost during optimization.

## What changes are included in this PR?

Preserve aggregate parameters in optimizer: Modified
`SingleDistinctToGroupBy` to extract and preserve `null_treatment`,
`filter`, and `order_by` from the original aggregate function when
creating the rewritten version.

Add regression test: Added SQL logic test to verify that
`ARRAY_AGG(DISTINCT x IGNORE NULLS)` correctly filters out NULL values.

Files changed:

**datafusion/optimizer/src/single_distinct_to_groupby.rs**: Extract and
pass through filter, order_by, and null_treatment parameters
**datafusion/sqllogictest/test_files/aggregate.slt**: Add test case for
ARRAY_AGG(DISTINCT ... IGNORE NULLS)

## Are these changes tested?

Yes:
New SQL logic test in aggregate.slt verifies the fix works end-to-end
Existing optimizer tests continue to pass (19 tests in
`single_distinct_to_groupby`)
Existing aggregate tests continue to pass (20 tests in `array_agg`)

## Are there any user-facing changes?

Bug fix - Users can now correctly use `IGNORE NULLS` (and `FILTER` /
`ORDER BY`) with `DISTINCT` aggregates:

Before (broken):

```sql
SELECT ARRAY_AGG(DISTINCT x IGNORE NULLS) 
FROM (VALUES (1), (2), (NULL), (2), (1)) AS t(x);
-- Result: [2, NULL, 1]  ❌ NULL incorrectly included
```

After (fixed):
```sql
SELECT ARRAY_AGG(DISTINCT x IGNORE NULLS) 
FROM (VALUES (1), (2), (NULL), (2), (1)) AS t(x);
-- Result: [1, 2]  ✅ NULLs correctly filtered
```
…pache#19745)

Bumps the proto group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pbjson](https://github.com/influxdata/pbjson) | `0.8.0` | `0.9.0` |
| [pbjson-types](https://github.com/influxdata/pbjson) | `0.8.0` |
`0.9.0` |
| [prost](https://github.com/tokio-rs/prost) | `0.14.1` | `0.14.3` |
| [pbjson-build](https://github.com/influxdata/pbjson) | `0.8.0` |
`0.9.0` |
| [prost-build](https://github.com/tokio-rs/prost) | `0.14.1` | `0.14.3`
|


Updates `pbjson` from 0.8.0 to 0.9.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/influxdata/pbjson/commits/0.9.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `pbjson-types` from 0.8.0 to 0.9.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/influxdata/pbjson/commits/0.9.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `prost` from 0.14.1 to 0.14.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md">prost's
changelog</a>.</em></p>
<blockquote>
<h1>Prost version 0.14.2</h1>
<p><em>PROST!</em> is a <a href="https://protobuf.dev/">Protocol
Buffers</a> implementation for the <a
href="https://www.rust-lang.org/">Rust Language</a>. <code>prost</code>
generates simple, idiomatic Rust code from <code>proto2</code> and
<code>proto3</code> files.</p>
<h2>⚠️ Heads-up</h2>
<ul>
<li>
<p>Increase MSRV to 1.82 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1356">#1356</a>)</p>
</li>
<li>
<p>Update maintenance status to Passively Maintained (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1359">#1359</a>)</p>
<p>This excerpt is from the readme:</p>
<blockquote>
<p>The current maintainer is not contributing new features and doesn't
have the time to review new features. Bug fixes and small improvements
are welcome. Feel free to contribute small and easily reviewable
PRs.</p>
<p>Bug fixes are still important, and security fixes will be released as
soon as possible. Contact the <code>#prost</code> channel in <a
href="https://discord.gg/tokio">Tokio discord</a> if you feel a bug or
security fix is not getting enough attention.</p>
<p>The maintainer expects the official <code>protobuf</code> project to
release their rust library soon and expects it to be as fully featured
as the C++ library. See their <a
href="https://github.com/protocolbuffers/protobuf/tree/main/rust">source
code</a> and <a
href="https://crates.io/crates/protobuf/4.33.1-release">crate</a> for
more information.</p>
</blockquote>
</li>
</ul>
<h2>🚀 Features</h2>
<ul>
<li>Configure prost path via <code>prost_build::Config</code> or
<code>#[(prost(prost_path = &quot;::prost&quot;)]</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1274">#1274</a>)</li>
<li>Support for deprecated enum and oneof fields (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1316">#1316</a>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><em>(prost-build)</em> Resolve OneOf type name conflict with
embedded message (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1294">#1294</a>)</li>
<li><em>(prost-build)</em> Avoid OneOf type collision with enums and
keyword names (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1341">#1341</a>)</li>
</ul>
<h2>💼 Dependencies</h2>
<ul>
<li>Use <code>trait Error</code> from core (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1179">#1179</a>)</li>
<li><em>(deps)</em> Update protobuf to v25.8 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1323">#1323</a>)</li>
<li><em>(deps)</em> Update criterion requirement from 0.6 to 0.7 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1308">#1308</a>)</li>
<li><em>(deps)</em> Update petgraph to 0.8 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1327">#1327</a>)</li>
<li><em>(deps)</em> Bump actions/upload-artifact from 4 to 5 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1351">#1351</a>)</li>
<li><em>(deps)</em> Bump actions/checkout from 5 to 6 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1370">#1370</a>)</li>
<li>Bump actions/checkout to v5 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1312">#1312</a>)</li>
<li>Update clippy to version 1.87 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1292">#1292</a>)</li>
<li>Replace once_cell dependency by std lib (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1119">#1119</a>)</li>
</ul>
<h2>📚 Documentation</h2>
<ul>
<li>Update outdated link is test documentation (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1289">#1289</a>)</li>
<li>Describe use of encoding module (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1322">#1322</a>)</li>
<li>Update the readme MSRV to the actual number (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1331">#1331</a>)</li>
<li>Update URLs after manual review (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1336">#1336</a>)</li>
<li>Answer why fields are wrapped in option (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1358">#1358</a>)</li>
</ul>
<h2>🎨 Styling</h2>
<ul>
<li>Add spaces to derive arguments in generated code (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1290">#1290</a>)</li>
<li>Use variables directly in the <code>format!</code> string (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1293">#1293</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/prost/commit/fafa97f3e05b9ffd84769c7c606499243a6fa614"><code>fafa97f</code></a>
chore: remove protobuf submodule and leverage cmake for it (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1389">#1389</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/e0643e22a6a05943b7057db0b2876b476204ccb1"><code>e0643e2</code></a>
release 0.14.3</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/5595b61dcbeeec3f89ac2e4b631c0877a6260046"><code>5595b61</code></a>
fix: Add back <code>DecodeError::new</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1382">#1382</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/e42dcad34d8f7621065dcbf80ef672fd90ec8a2b"><code>e42dcad</code></a>
Bufix: Name::full_name() is correct for empty packages (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1386">#1386</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/107153f0d1aa40830f9d3bf0d6d7f22d9c4629c7"><code>107153f</code></a>
build(deps): update pulldown-cmark-to-cmark requirement from 21 to 22
(<a
href="https://redirect.github.com/tokio-rs/prost/issues/1384">#1384</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/3fc700393c9996314792aa3f1364df9e9c140988"><code>3fc7003</code></a>
build(deps): bump actions/upload-artifact from 5 to 6 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1381">#1381</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/33f8721bde539e584edd6ea6181e3fdacc4c37d2"><code>33f8721</code></a>
fix some forgotten prost import paths (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1385">#1385</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/efb0755ba9450ed3cf047efe30751bdf024176db"><code>efb0755</code></a>
chore: Release version 0.14.2 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1372">#1372</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/91a093fb205037dd739b88acf7bb08725a33ff58"><code>91a093f</code></a>
test(derive_copy): Allow dead code (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1362">#1362</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/2c22c5900923d0a3387f60372f6f955e4b9fa9cf"><code>2c22c59</code></a>
build(deps): bump actions/checkout from 5 to 6 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1370">#1370</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/prost/compare/v0.14.1...v0.14.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `pbjson-build` from 0.8.0 to 0.9.0
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/influxdata/pbjson/commits/0.9.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `prost-build` from 0.14.1 to 0.14.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md">prost-build's
changelog</a>.</em></p>
<blockquote>
<h1>Prost version 0.14.2</h1>
<p><em>PROST!</em> is a <a href="https://protobuf.dev/">Protocol
Buffers</a> implementation for the <a
href="https://www.rust-lang.org/">Rust Language</a>. <code>prost</code>
generates simple, idiomatic Rust code from <code>proto2</code> and
<code>proto3</code> files.</p>
<h2>⚠️ Heads-up</h2>
<ul>
<li>
<p>Increase MSRV to 1.82 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1356">#1356</a>)</p>
</li>
<li>
<p>Update maintenance status to Passively Maintained (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1359">#1359</a>)</p>
<p>This excerpt is from the readme:</p>
<blockquote>
<p>The current maintainer is not contributing new features and doesn't
have the time to review new features. Bug fixes and small improvements
are welcome. Feel free to contribute small and easily reviewable
PRs.</p>
<p>Bug fixes are still important, and security fixes will be released as
soon as possible. Contact the <code>#prost</code> channel in <a
href="https://discord.gg/tokio">Tokio discord</a> if you feel a bug or
security fix is not getting enough attention.</p>
<p>The maintainer expects the official <code>protobuf</code> project to
release their rust library soon and expects it to be as fully featured
as the C++ library. See their <a
href="https://github.com/protocolbuffers/protobuf/tree/main/rust">source
code</a> and <a
href="https://crates.io/crates/protobuf/4.33.1-release">crate</a> for
more information.</p>
</blockquote>
</li>
</ul>
<h2>🚀 Features</h2>
<ul>
<li>Configure prost path via <code>prost_build::Config</code> or
<code>#[(prost(prost_path = &quot;::prost&quot;)]</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1274">#1274</a>)</li>
<li>Support for deprecated enum and oneof fields (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1316">#1316</a>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><em>(prost-build)</em> Resolve OneOf type name conflict with
embedded message (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1294">#1294</a>)</li>
<li><em>(prost-build)</em> Avoid OneOf type collision with enums and
keyword names (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1341">#1341</a>)</li>
</ul>
<h2>💼 Dependencies</h2>
<ul>
<li>Use <code>trait Error</code> from core (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1179">#1179</a>)</li>
<li><em>(deps)</em> Update protobuf to v25.8 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1323">#1323</a>)</li>
<li><em>(deps)</em> Update criterion requirement from 0.6 to 0.7 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1308">#1308</a>)</li>
<li><em>(deps)</em> Update petgraph to 0.8 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1327">#1327</a>)</li>
<li><em>(deps)</em> Bump actions/upload-artifact from 4 to 5 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1351">#1351</a>)</li>
<li><em>(deps)</em> Bump actions/checkout from 5 to 6 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1370">#1370</a>)</li>
<li>Bump actions/checkout to v5 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1312">#1312</a>)</li>
<li>Update clippy to version 1.87 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1292">#1292</a>)</li>
<li>Replace once_cell dependency by std lib (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1119">#1119</a>)</li>
</ul>
<h2>📚 Documentation</h2>
<ul>
<li>Update outdated link is test documentation (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1289">#1289</a>)</li>
<li>Describe use of encoding module (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1322">#1322</a>)</li>
<li>Update the readme MSRV to the actual number (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1331">#1331</a>)</li>
<li>Update URLs after manual review (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1336">#1336</a>)</li>
<li>Answer why fields are wrapped in option (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1358">#1358</a>)</li>
</ul>
<h2>🎨 Styling</h2>
<ul>
<li>Add spaces to derive arguments in generated code (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1290">#1290</a>)</li>
<li>Use variables directly in the <code>format!</code> string (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1293">#1293</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/prost/commit/fafa97f3e05b9ffd84769c7c606499243a6fa614"><code>fafa97f</code></a>
chore: remove protobuf submodule and leverage cmake for it (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1389">#1389</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/e0643e22a6a05943b7057db0b2876b476204ccb1"><code>e0643e2</code></a>
release 0.14.3</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/5595b61dcbeeec3f89ac2e4b631c0877a6260046"><code>5595b61</code></a>
fix: Add back <code>DecodeError::new</code> (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1382">#1382</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/e42dcad34d8f7621065dcbf80ef672fd90ec8a2b"><code>e42dcad</code></a>
Bufix: Name::full_name() is correct for empty packages (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1386">#1386</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/107153f0d1aa40830f9d3bf0d6d7f22d9c4629c7"><code>107153f</code></a>
build(deps): update pulldown-cmark-to-cmark requirement from 21 to 22
(<a
href="https://redirect.github.com/tokio-rs/prost/issues/1384">#1384</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/3fc700393c9996314792aa3f1364df9e9c140988"><code>3fc7003</code></a>
build(deps): bump actions/upload-artifact from 5 to 6 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1381">#1381</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/33f8721bde539e584edd6ea6181e3fdacc4c37d2"><code>33f8721</code></a>
fix some forgotten prost import paths (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1385">#1385</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/efb0755ba9450ed3cf047efe30751bdf024176db"><code>efb0755</code></a>
chore: Release version 0.14.2 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1372">#1372</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/91a093fb205037dd739b88acf7bb08725a33ff58"><code>91a093f</code></a>
test(derive_copy): Allow dead code (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1362">#1362</a>)</li>
<li><a
href="https://github.com/tokio-rs/prost/commit/2c22c5900923d0a3387f60372f6f955e4b9fa9cf"><code>2c22c59</code></a>
build(deps): bump actions/checkout from 5 to 6 (<a
href="https://redirect.github.com/tokio-rs/prost/issues/1370">#1370</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/prost/compare/v0.14.1...v0.14.3">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jefffrey <jeffrey.vo.australia@gmail.com>
## Which issue does this PR close?

- Refs apache#17509 (Switch from xz2 to liblzma to reduce duplicate
dependencies)

  ## Rationale for this change

Switching from `xz2` to `liblzma` enabled wasm builds (liblzma supports
wasm),
  so we can now enable the `compression` feature in wasm tests.

  ## What changes are included in this PR?

- Add the `compression` feature to the `datafusion` dependency in
`datafusion/wasmtest/Cargo.toml`.

  ## Are these changes tested?

  - Verified by CI in this PR.

  ## Are there any user-facing changes?

  - No. (test configuration change only)
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of  apache/datafusion-comet#2986.

## Rationale for this change

The cot function currently converts scalar inputs to arrays before
processing, even for single scalar values. This adds unnecessary
overhead from array allocation and conversion. Adding a scalar fast path
avoids this overhead.

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

- Added scalar fast path
- Added benchmark
- Update tests


| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **cot_f64_scalar** | 229 ns | 67 ns | **3.4x** |
| **cot_f32_scalar** | 247 ns | 59 ns | **4.2x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?



<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

- Related to apache#19617 

## Rationale for this change

DataFusion recently added TableProvider hooks for row-level DML
operations such as DELETE and UPDATE, but TRUNCATE TABLE was still
unsupported.

## What changes are included in this PR?

This PR adds planning and integration support for TRUNCATE TABLE in
DataFusion, completing another part of the DML surface alongside
existing DELETE and UPDATE support.

Specifically, it includes:
- SQL parsing support for TRUNCATE TABLE
- Logical plan support via a new WriteOp::Truncate DML operation
- Physical planner routing for TRUNCATE statements
- A new TableProvider::truncate() hook for storage-native
implementations
- Protobuf / DML node support for serializing and deserializing TRUNCATE
operations
- SQL logic tests validating logical and physical planning behavior

The implementation follows the same structure and conventions as the
existing DELETE and UPDATE DML support.
Execution semantics are delegated to individual TableProvider
implementations via the new hook.

## Are these changes tested?
Yes. The PR includes:
SQL logic tests that verify:
- Parsing of TRUNCATE TABLE
- Correct logical plan generation
- Correct physical planner routing
- Clear and consistent errors for providers that do not yet support
TRUNCATE

These tests mirror the existing testing strategy used for unsupported
DELETE and UPDATE operations.

## Are there any user-facing changes?
Yes. Users can now execute TRUNCATE TABLE statements in DataFusion for
tables whose TableProvider supports the new truncate() hook. Tables that
do not support TRUNCATE will return a clear NotImplemented error.
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache#18092

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

Main value add here is ensure UDAFs encode their actual accepted types
in their signature instead of internally casting to the actual types
they support from a wider signature. Also doing some driveby refactoring
of removing manual Debug impls.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

See rationale.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Existing tests.

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

No.

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.17 to
2.0.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/thiserror/releases">thiserror's
releases</a>.</em></p>
<blockquote>
<h2>2.0.18</h2>
<ul>
<li>Make compatible with project-level <code>needless_lifetimes =
&quot;forbid&quot;</code> (<a
href="https://redirect.github.com/dtolnay/thiserror/issues/443">#443</a>,
thanks <a
href="https://github.com/LucaCappelletti94"><code>@​LucaCappelletti94</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/thiserror/commit/dc0f6a23a3fb6ae34ef117133ec43650450c4b32"><code>dc0f6a2</code></a>
Release 2.0.18</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/027529273572e8171262231190c4328e40ec1b36"><code>0275292</code></a>
Touch up PR 443</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/3c33bc60add478225e6bbd19e9974a633da08545"><code>3c33bc6</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/thiserror/issues/443">#443</a>
from LucaCappelletti94/master</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/995939cc2eae15cc23f873f354f8ef3fbfd6a707"><code>995939c</code></a>
Reproduce issue 442</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/21653d1d33f563f0b8f8881671894a23cc3a2a27"><code>21653d1</code></a>
Made clippy lifetime allows conditional</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/45e5388009e68c32f20182db21ee5887bc1c3304"><code>45e5388</code></a>
Update actions/upload-artifact@v5 -&gt; v6</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/386aac126a95a97fae374c05bd2ebb1dd550a361"><code>386aac1</code></a>
Update actions/upload-artifact@v4 -&gt; v5</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/ec50561375fcd29d700da43a79f4f5d9794e5b4b"><code>ec50561</code></a>
Update actions/checkout@v5 -&gt; v6</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/247eab5d79e27ad28859afdf8bc600a4242829b7"><code>247eab5</code></a>
Update name of empty_enum clippy lint</li>
<li><a
href="https://github.com/dtolnay/thiserror/commit/91b181f0899fd42f41c210e73822c29eef29dd6d"><code>91b181f</code></a>
Raise required compiler to Rust 1.68</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=2.0.17&new-version=2.0.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

None

## Rationale for this change

Applies apache#13985 to more crates.

## What changes are included in this PR?

This symlinks `LICENSE.txt` and `NOTICE.txt` so they're included.

## Are these changes tested?

N/A

## Are there any user-facing changes?

N/A
…pache#19404)

## Which issue does this PR close?

- Closes apache#17246

## Rationale for this change
For dynamic filter to work properly, table scan must get correct column
even if it's passing through alias(by `ProjectionExec`) hence need to
modify parent filter when `gather_filters_for_pushdown`


## What changes are included in this PR?
as title, add support for handling simple alias in pushdown filter,
which expand aliased column(in pushdown filter) to it's original
expressions(or not pushdown if can't found aliased column in pushdown
filter) so alias in projection is supported, also added unit tests.
AI Content disclaim: the core logic is hand written and thoroughly
understood, but unit test are largely generated with some human guidance

## Are these changes tested?
Unit tests&slt are added, please comment if more tests are needed

## Are there any user-facing changes?
Yes, dynamic filter will work properly with alias now, I'm not sure if
that count as breaking change though?
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Signed-off-by: discord9 <discord9@163.com>
)

Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 6.1.0 to 6.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-python/releases">actions/setup-python's
releases</a>.</em></p>
<blockquote>
<h2>v6.2.0</h2>
<h2>What's Changed</h2>
<h3>Dependency Upgrades</h3>
<ul>
<li>Upgrade dependencies to Node 24 compatible versions by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1259">actions/setup-python#1259</a></li>
<li>Upgrade urllib3 from 2.5.0 to 2.6.3 in <code>/__tests__/data</code>
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1253">actions/setup-python#1253</a>
and <a
href="https://redirect.github.com/actions/setup-python/pull/1264">actions/setup-python#1264</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v6...v6.2.0">https://github.com/actions/setup-python/compare/v6...v6.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-python/commit/a309ff8b426b58ec0e2a45f0f869d46889d02405"><code>a309ff8</code></a>
Bump urllib3 from 2.6.0 to 2.6.3 in /<strong>tests</strong>/data (<a
href="https://redirect.github.com/actions/setup-python/issues/1264">#1264</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/bfe8cc55a7890e3d6672eda6460ef37bfcc70755"><code>bfe8cc5</code></a>
Upgrade <a href="https://github.com/actions"><code>@​actions</code></a>
dependencies to Node 24 compatible versions (<a
href="https://redirect.github.com/actions/setup-python/issues/1259">#1259</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/4f41a90a1f38628c7ccc608d05fbafe701bc20ae"><code>4f41a90</code></a>
Bump urllib3 from 2.5.0 to 2.6.0 in /<strong>tests</strong>/data (<a
href="https://redirect.github.com/actions/setup-python/issues/1253">#1253</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-python/compare/83679a892e2d95755f2dac6acb0bfd1e9ac5d548...a309ff8b426b58ec0e2a45f0f869d46889d02405">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=6.1.0&new-version=6.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache/datafusion-comet#2986.

## Rationale for this change

The `iszero` function currently converts scalar inputs to arrays before
processing, even for single scalar values. This adds unnecessary
overhead from array allocation and conversion. Adding a scalar fast path
avoids this overhead and improves performance

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

- Added scalar fast path for `Float16`, `Float32`, and `Float64` scalar
inputs
- Updated tests

| Type | Before | After | Speedup |
|------|--------|-------|---------|
| **iszero f32 scalar** | 244 ns | 62 ns | **3.9x** |
| **iszero f64 scalar** | 245 ns | 62 ns | **4.0x** |

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

Closes apache#19914 

The changes are fairly simple. The bug only occurs to udtf, so I added a
test case for this.
…#19936)

## Which issue does this PR close?

While working on apache#19930 , I
noticed a trailing whitespace in the CROSS JOIN logical plan output.
This whitespace is inconsistent with the rest of the logical plan
formatting.

## Rationale for this change

This change removes the unnecessary trailing whitespace in the logical
plan output of a CROSS JOIN.

## What changes are included in this PR?

## Are these changes tested?

Yes.

## Are there any user-facing changes?

No.
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.42 to
0.4.43.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>0.4.43</h2>
<h2>What's Changed</h2>
<ul>
<li>Install extra components for lint workflow by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1741">chronotope/chrono#1741</a></li>
<li>Upgrade windows-bindgen to 0.64 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1742">chronotope/chrono#1742</a></li>
<li>Improve windows-bindgen setup by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1744">chronotope/chrono#1744</a></li>
<li>Drop stabilized feature doc_auto_cfg by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1745">chronotope/chrono#1745</a></li>
<li>Faster RFC 3339 parsing by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1748">chronotope/chrono#1748</a></li>
<li>Update windows-bindgen requirement from 0.64 to 0.65 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1751">chronotope/chrono#1751</a></li>
<li>add <code>NaiveDate::abs_diff</code> by <a
href="https://github.com/Kinrany"><code>@​Kinrany</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1752">chronotope/chrono#1752</a></li>
<li>Add feature gated defmt support. by <a
href="https://github.com/pebender"><code>@​pebender</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1747">chronotope/chrono#1747</a></li>
<li>Drop deny lints, eager Debug impls are a mixed blessing by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1753">chronotope/chrono#1753</a></li>
<li>chore: minor improvement for docs by <a
href="https://github.com/spuradage"><code>@​spuradage</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1756">chronotope/chrono#1756</a></li>
<li>Added doctest for the NaiveDate years_since function by <a
href="https://github.com/LucasBou"><code>@​LucasBou</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1755">chronotope/chrono#1755</a></li>
<li>Prepare 0.4.43 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1765">chronotope/chrono#1765</a></li>
<li>Update copyright year to 2026 in LICENSE.txt by <a
href="https://github.com/taozui472"><code>@​taozui472</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1767">chronotope/chrono#1767</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chronotope/chrono/commit/45caaa970ce443b11106a710ee24bd2480e5ff99"><code>45caaa9</code></a>
Update copyright year to 2026 in LICENSE.txt</li>
<li><a
href="https://github.com/chronotope/chrono/commit/1c0b8f011ab2f2e53c195df1866a1fb4c7fd193a"><code>1c0b8f0</code></a>
Bump version to 0.4.43</li>
<li><a
href="https://github.com/chronotope/chrono/commit/a03e43b1c3ef3aea77f12200d84144f275560aa9"><code>a03e43b</code></a>
Upgrade windows-bindgen to 0.66</li>
<li><a
href="https://github.com/chronotope/chrono/commit/4fedaba2a214aa560e1c6a70d0a09e6955ed3ff4"><code>4fedaba</code></a>
Ignore bincode advisory</li>
<li><a
href="https://github.com/chronotope/chrono/commit/f4b7bbda679199e7509da813849a10242b2f7aa1"><code>f4b7bbd</code></a>
Bump actions/checkout from 5 to 6</li>
<li><a
href="https://github.com/chronotope/chrono/commit/db129730e8f21ca66b3808c133b7147cbc62fc41"><code>db12973</code></a>
Added doctest for the NaiveDate years_since function (<a
href="https://redirect.github.com/chronotope/chrono/issues/1755">#1755</a>)</li>
<li><a
href="https://github.com/chronotope/chrono/commit/34b5f49e9d7cdcabda6eea054609a2ce4ba947f0"><code>34b5f49</code></a>
chore: minor improvement for docs</li>
<li><a
href="https://github.com/chronotope/chrono/commit/8c827116b9d67fe926eceb553ce95656dd7627d0"><code>8c82711</code></a>
Bump actions/setup-node from 5 to 6</li>
<li><a
href="https://github.com/chronotope/chrono/commit/ea1f11b356fde5c2825679378e8ddf6e153942e5"><code>ea1f11b</code></a>
Drop deny lints, eager Debug impls are a mixed blessing</li>
<li><a
href="https://github.com/chronotope/chrono/commit/35f9f2daef4c3132546d0004fdf37284df023fd3"><code>35f9f2d</code></a>
Add feature gated defmt support.</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.42...v0.4.43">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.42&new-version=0.4.43)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…en different (apache#19922)

## Which issue does this PR close?

None

## Rationale for this change

current when user self construct a UnionExec that with different schema
len, it will panic instead of error

## What changes are included in this PR?

if the input for UnionExec have diffent schema len, return error instead
of panic

## Are these changes tested?

yes, add one test case

## Are there any user-facing changes?
…che#19819)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Related to apache#19004 and apache#19809.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

Change internal error to user-facing error when function type coercion
fails. Add helpful hint when Binary types are used with string
functions.

Before:
```
Internal error: Expect TypeSignatureClass::Native(...) but received NativeType::Binary, DataType: Binary
```

After:
```
Error: Function 'split_part' requires String, but received Binary (DataType: Binary).
Hint: Binary types are not automatically coerced to String. Use CAST(column AS VARCHAR) to convert Binary data to String.
```
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

N/A

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

When hashing list arrays we hash all bytes of the child array, even if
we slice to a certain range of values. Refactor to slice only the needed
bytes; also do some general refactors.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

Refactor list array hashing.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

Added test.

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

No.

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
gene-bordegaray and others added 14 commits February 14, 2026 11:01
## Which issue does this PR close?

apache#20034


## Rationale for this change

ANSI mode support for negative function

## What changes are included in this PR?

Added support for ANSI mode for negative function

## Are these changes tested?

yes through UT

## Are there any user-facing changes?

yes, adds ANSI support to existing function.

---------

Co-authored-by: Subham Singhal <subhamsinghal@Subhams-MacBook-Air.local>
## Summary

Discovered this bug while working on apache#19724.

TLDR: just because the files themselves are sorted doesn't mean the
partition streams are sorted.

- **`eq_properties()` in `FileScanConfig` blindly trusted
`output_ordering`** (set from Parquet `sorting_columns` metadata)
without verifying that files within a group are in the correct
inter-file order
- `EnforceSorting` then removed `SortExec` based on this unvalidated
ordering, producing **wrong results** when filesystem order didn't match
data order
- Added `validated_output_ordering()` that filters orderings using
`MinMaxStatistics::new_from_files()` + `is_sorted()` to verify
inter-file sort order before reporting them to the optimizer

## Changes

### `datafusion/datasource/src/file_scan_config.rs`
- Added `validated_output_ordering()` method on `FileScanConfig` that
validates each output ordering against actual file group statistics
- Changed `eq_properties()` to call `self.validated_output_ordering()`
instead of `self.output_ordering.clone()`

### `datafusion/sqllogictest/test_files/sort_pushdown.slt`
Added 8 new regression tests (Tests 4-11):

| Test | Scenario | Key assertion |
|------|----------|---------------|
| **4** | Reversed filesystem order (inferred ordering) | SortExec
retained — wrong inter-file order detected |
| **5** | Overlapping file ranges (inferred ordering) | SortExec
retained — overlapping ranges detected |
| **6** | `WITH ORDER` + reversed filesystem order | SortExec retained
despite explicit ordering |
| **7** | Correctly ordered multi-file group (positive) | SortExec
eliminated — validation passes |
| **8** | DESC ordering with wrong inter-file DESC order | SortExec
retained for DESC direction |
| **9** | Multi-column sort key (overlapping vs non-overlapping) |
Conservative rejection with overlapping stats; passes with clean
boundaries |
| **10** | Correctly ordered + `WITH ORDER` (positive) | SortExec
eliminated — both ordering and stats agree |
| **11** | Multiple partitions (one file per group) |
`SortPreservingMergeExec` merges; no per-partition sort needed |

## Test plan

- [x] `cargo test --test sqllogictests -- sort_pushdown` — all new +
existing tests pass
- [x] `cargo test -p datafusion-datasource` — 97 unit tests + 6 doc
tests pass
- [x] Existing Test 1 (single-file sort pushdown with `WITH ORDER`)
still eliminates SortExec (no regression)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
## Which issue does this PR close?

Solves the simplest possible subset of apache#16973

## Rationale for this change

Parent dynamic filters can be assessed for pushdown in much the same way
as parent static filters. The essence of it is that you can push a
filter into the preserved side if the filter only refers to preserved
side columns. This PR makes no attempt to cover other cases (eg non
preserved side filters or the self filters that hashjoin creates)

## What changes are included in this PR?

1. Allow a subset of parent dynamic filters for all join types except
full depending on lr_is_preserved and which columns they refer to
2. Sql logic tests for the above
3. New helper `ChildFilterDescription::all_unsupported` and
`ChildFilterDescription::from_child_with_allowed_columns`
4. `FilterColumnChecker` gets a sibling `FilterColumnIndexChecker` which
also needs to look at indices, not just column names, as the same name
can be on both sides of a join. We don't use this for other call sites
of FilterColumnChecker as we often use the checker before a expr remap
(so indices aren't yet reliable anyway)

## Are these changes tested?

Yes

## Are there any user-facing changes?

No
…hange (apache#20380)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Part of apache#20324 (dynamic filter update overhead for aggregates)

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

Right now `AggregateStream::maybe_update_dyn_filter()` unconditionally
updates filter predicates after every batch even without any change.
Which triggers predicate rebuilds for file pruners even though we
converge towards the bounds quite early on.

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

We only conditionally update filter predicates if the bounds change.

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

The existing test suits pass. The existing clickbench regression shows
virtually no change.

<details>
  <summary>Benchmark Results</summary>
The existing benchmarks don't reproduce this as it gets the data from
stats. So we can use a trick like `"EventDate" + 0` to force full table
scan.
 
  ```sql
  SET datafusion.execution.parquet.binary_as_string = true;
  SET datafusion.execution.parquet.pushdown_filters = false;

CREATE EXTERNAL TABLE hits STORED AS PARQUET LOCATION
'benchmarks/data/hits_partitioned';
CREATE VIEW hits_view AS SELECT "EventDate" + 0 AS "EventDate" FROM
hits;

  -- Warmup
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;

  -- dyn_off x5: hard-coded filter, dynamic filter disabled
SET datafusion.optimizer.enable_aggregate_dynamic_filter_pushdown =
false;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;
SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view WHERE
"EventDate" > 0 AND "EventDate" < 99999999;

  -- dyn_on x5: dynamic filter enabled
SET datafusion.optimizer.enable_aggregate_dynamic_filter_pushdown =
true;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  SELECT MIN("EventDate"), MAX("EventDate") FROM hits_view;
  ```

  ### Before (baseline)

  | Iteration | dyn_off | dyn_on |
  |-----------|---------|--------|
  | 1 | 39ms | 44ms |
  | 2 | 39ms | 44ms |
  | 3 | 40ms | 44ms |
  | 4 | 39ms | 45ms |
  | 5 | 38ms | 45ms |
  | **Avg** | **39.0ms** | **44.4ms** |

We can see that that it's a little slow to execute with dynamic filters
on.

  ### After (this PR)

  | Iteration | dyn_off | dyn_on |
  |-----------|---------|--------|
  | 1 | 40ms | 33ms |
  | 2 | 41ms | 32ms |
  | 3 | 40ms | 32ms |
  | 4 | 42ms | 32ms |
  | 5 | 39ms | 31ms |
  | **Avg** | **40.4ms** | **32.0ms** |

  And we get approx 20% boost with the patch (in my local setup)

  </details>

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
…pache#20247)

## Which issue does this PR close?

- Fixes apache#20244

This is an alternatative to 
- apache#20245

## Rationale for this change

Wrong answers bug was exposed by
apache#19287 in 52. See
apache#20244 and backstory here
- apache#19287 (comment)

## What changes are included in this PR?

Fix the bug by properly implemnting 

## Are these changes tested?

Yes, a new test is added

## Are there any user-facing changes?

A bug is fixed

---------

Co-authored-by: Mustafa Akur <akurmustafa@gmail.com>
## Which issue does this PR close?

No issue raised

## Rationale for this change

`try_shrink` never released any memory from the pool, and so would cause
a "memory leak"

## What changes are included in this PR?

A few changes to `MemoryReservation`

## Are these changes tested?

Yes & new test has been added

## Are there any user-facing changes?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.