Gene.bordegaray/2026/02/partiton index dyn filter#84
Closed
gene-bordegaray wants to merge 2707 commits intomainfrom
Closed
Gene.bordegaray/2026/02/partiton index dyn filter#84gene-bordegaray wants to merge 2707 commits intomainfrom
gene-bordegaray wants to merge 2707 commits intomainfrom
Conversation
## 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 /> [](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 /> [](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<T></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 /> [](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 "irm https://github.com/mitsuhiko/insta/releases/download/1.46.1/cargo-insta-installer.ps1 | iex" </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 /> [](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 /> [](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 "acronym" 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 "acronym" 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' <latexsphinxsetup></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 /> [](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 = "::prost")]</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 = "::prost")]</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 = "forbid"</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 -> v6</li> <li><a href="https://github.com/dtolnay/thiserror/commit/386aac126a95a97fae374c05bd2ebb1dd550a361"><code>386aac1</code></a> Update actions/upload-artifact@v4 -> v5</li> <li><a href="https://github.com/dtolnay/thiserror/commit/ec50561375fcd29d700da43a79f4f5d9794e5b4b"><code>ec50561</code></a> Update actions/checkout@v5 -> 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 /> [](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 /> [](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 /> [](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. -->
## 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Rationale for this change
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?