Commit Graph

1254 Commits

Author SHA1 Message Date
Adrian Garcia Badaracco 1ee782f783 Migrate Python usage to uv workspace (#20414)
I was having trouble getting benchmarks to gen data.

## Summary
- Replace three independent `requirements.txt` files with a uv workspace
(`benchmarks`, `dev`, `docs` projects)
- Single `uv.lock` lockfile for reproducible dependency resolution
- Simplify `bench.sh` by removing all ad-hoc venv/pip logic in favor of
`uv run`

## Test plan
- [ ] `uv sync` resolves all deps from repo root
- [ ] `uv run --project benchmarks python3 benchmarks/compare.py` works
- [ ] `uv run --project docs sphinx-build docs/source docs/build` builds
docs
- [ ] Run a benchmark from `bench.sh` that uses Python (e.g., h2o data
gen or compare flow)

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:29:56 +00:00
Sergey Zhukov 80485d7516 unify the prettier version adv(#20024) (#20311)
## 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 #123` indicates that this PR will close issue #123.
-->

- Closes #https://github.com/apache/datafusion/issues/20024.

## 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.
-->

## 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?

<!--
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.
-->
2026-02-13 17:23:17 +00:00
Marko Milenković 49776a65e4 chore: Add confirmation before tarball is released (#20207)
## Which issue does this PR close?

- Closes #.

## Rationale for this change

Add confirmation dialogue to confirm tarball release 

## What changes are included in this PR?

Update `tarball-release.sh` to ask `y/N` confirmation before it proceeds
to release upload

## Are these changes tested?


## Are there any user-facing changes?

No
2026-02-11 09:15:40 +00:00
Sergey Zhukov c9e7137dce unify the prettier versions (#20167)
## 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 #123` indicates that this PR will close issue #123.
-->

- part of #https://github.com/apache/datafusion/issues/20024.

## 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.
-->

## 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?

<!--
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.
-->

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2026-02-07 21:27:50 +00:00
Nuno Faria 92f60ad513 docs: Automatically update DataFusion version in docs (#20001)
## Which issue does this PR close?

- N/A.

## Rationale for this change

I was looking at the download page
(https://datafusion.apache.org/download.html) when I noticed the version
there was not updated in a while. Likewise, there are other places in
the docs where the version is not updated.

This PR changes the `update_datafusion_versions.py` script to
automatically update those files, in addition to the Cargo files.

## What changes are included in this PR?

- Updated `update_datafusion_versions.py` to check some doc files.
- Updated the doc files to the current major version.

## Are these changes tested?

Yes, script runs correctly.

## Are there any user-facing changes?

No.

---------

Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
2026-01-29 03:02:37 +00:00
Andrew Lamb 0a68b81ade [main] Update version to 52.1.0 (#19878) (#20028)
## Which issue does this PR close?

- part of https://github.com/apache/datafusion/issues/19784 

## Rationale for this change

Forward port changes from branch-52 to main
## What changes are included in this PR?

Update release version to 52.1.0 and add changelo by cherry-picking
- 9f3ddcecd6033a9d55161175d5dbe29697a9a922

## Are these changes tested?

By CI
## Are there any user-facing changes?

New version
2026-01-27 21:51:24 +00:00
Yongting You 6bf5e98b59 dev: Add a script to auto fix all lint violations (#19560)
## 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 #123` indicates that this PR will close issue #123.
-->

Part of https://github.com/apache/datafusion/issues/19227

## 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.
-->
See issue for details.

The existing script `./dev/rust_lint.sh` do checks for all
non-functional tests include formater/clippy checks.

Some check tools support auto fix options, so this PR add an option to
the lint scripts to perform auto-fixes.

Now `./dev/rust_lint.sh --write --allow-dirty` can perform auto-fixes
for all linter etc. violations

```
yongting@Yongtings-MacBook-Pro-2 ~/C/datafusion (auto-fix)> ./dev/rust_lint.sh --help
Usage: ./dev/rust_lint.sh [--write] [--allow-dirty]

Runs the local Rust lint suite similar to CI.
--write        Run formatters, clippy and other non-functional checks in best-effort write/fix mode (requires a clean git worktree, no uncommitted changes; some checks are test-only and ignore this flag).
--allow-dirty  Allow `--write` to run even when the git worktree has uncommitted changes.
```

## 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.
-->
- Adds `[--write] [--allow-dirty]` flag to `rust_lint.sh` to support
auto fixes
- `rust_lint.sh` consists of several sub-scripts like `rust_fmt.sh`,
they're all extended with auto-fix feature through `--write` flag, and
the `rust_lint.sh` is optionally calling them with an additional flag
for auto fixes.
- Clean up `rust_lint.sh`

## 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, commit 8c99417929fcf133423dd3392f1939ab13a0bc93 intentionally
introduced one violation for each available lint check, and the auto-fix
command is able to fix all of them.

The test may not be comprehensive, but it provides a reasonable starting
point. We can begin using this script now and iterate on it if we
discover cases where the auto-fix does not behave correctly.

## 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.
-->
2026-01-14 02:32:08 +00:00
xudong.w 383e673ac3 Update 52.0.0 release version number and changelog (#19767)
The 52.0.0 has released, the PR updates version number and changlog on
main branch
2026-01-12 15:48:46 +00:00
Yongting You 33b3f02164 dev: Add CI doc prettier check to local rust_lint.sh (#19254)
## 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 #123` indicates that this PR will close issue #123.
-->

A small step towards https://github.com/apache/datafusion/issues/19227

## 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.
-->

## 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.
-->
- Move doc prettier check command to a local script
- Add this script to the lint-check runner `dev/rust_lint.sh` to make
local development easier
(Technically it's neither rust nor lint, but keeping all non functional
tests here seem to be the most convenient.)

## 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.
-->
2025-12-11 22:34:55 +00:00
Yongting You a1bb74b409 dev: Add typos check to the local dev/rust_lint.sh (#17863)
## 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 #123` indicates that this PR will close issue #123.
-->

- Closes #.

## 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.
-->
There is a typos check CI job introduced recently. I always end up with
typos in my PRs, so I want an easier way to run this typo check locally.

`dev/rust_lint.rs` is used to perform all lint checks (fmt, clippy)
locally, the typos check should also be suitable to get included.

## 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.
-->
1. Added `ci/scripts/typos_check.sh` for local typos check, and include
it into `dev/rust_lint.sh`
2. Update CI to also use `ci/scripts/typos_check.sh` for consistency
3. Moved typo check CI job from `Rust workflow` to `Dev workflow`

## 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
4. 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, since CI job is changed, I included one typo in this PR, and it
should trigger CI failure.

## 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: Andrew Lamb <andrew@nerdnetworks.org>
2025-12-02 23:55:09 +00:00
Tim Saucer 36ec9f1de0 Feat/update rust 2024 edition (#18915)
## Which issue does this PR close?

This addresses part of https://github.com/apache/datafusion/issues/15804
but does not close it.

## Rationale for this change

Now that we are on MSRV 1.88 we can use rust edition 2024, which brings
let chains and other nice features. It also improves `unsafe` checking.
In order to introduce these changes in slower way instead of one massive
PR that is too difficult to manage we are updating a few crates at a
time.

## What changes are included in this PR?

Updates 6 crates to 2024.

- common
- common-runtime
- doc
- expr-common
- macros
- proto-common

## Are these changes tested?

Existing unit tests. There are no functional code changes.

## Are there any user-facing changes?

None.
2025-11-28 19:44:32 +00:00
Oleks V 2dd17b9e6c chore: Add script to protect RC branches during the release (#18660)
## 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 #123` indicates that this PR will close issue #123.
-->

- Closes https://github.com/apache/datafusion/issues/17134

## Rationale for this change

ASF Infra works in tricky way, to apply a protection for the new branch
its needed to get:
- branch created in repo
- add rules to `.asf.yaml` in `main`
- tricky part ASF reapply policies ONLY if `.asf.yaml` changed in PR,
means that "future" branches won't be covered until the file changed and
pushed.

Adding a script to add automatically a block with new RC branch
protection rules and updated documentation

<!--
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?

<!--
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.
-->

---------

Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
2025-11-19 01:01:53 +00:00
Andrew Lamb 3ac3d0edfc Minor: Add docs to release/README.md about rate limits (#18704)
## Which issue does this PR close?
- related to https://github.com/apache/datafusion/issues/17558

## Rationale for this change

I have hit rate limit issues in the past when I didn't set my github
token correctly, and @xudong963 reported something similar here:
https://github.com/apache/datafusion/issues/17558#issuecomment-3531704481

## What changes are included in this PR?

Add a note in the release docs about how to solve the rate limiting

## 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.
-->
2025-11-15 14:45:19 +00:00
Andrew Lamb cfb26b6c02 [main] Update changelog for 51.0.0 RC2 (#18710)
## 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 #123` indicates that this PR will close issue #123.
-->

- part of
https://github.com/apache/datafusion/issues/17558#issuecomment-3531704481
- 

## Rationale for this change
Forward port changes  from branch-51 to main:
- https://github.com/apache/datafusion/pull/18705

## What changes are included in this PR?

Bring changes from this PR to main
- https://github.com/apache/datafusion/pull/18705


## 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.
-->
2025-11-14 20:41:10 +00:00
kosiew b477816c86 Enforce explicit opt-in for WITHIN GROUP syntax in aggregate UDAFs (#18607)
## Which issue does this PR close?

Closes #18109.

## Rationale for this change

Previously, the SQL planner accepted `WITHIN GROUP` clauses for all
aggregate UDAFs, even those that did not explicitly support ordered-set
semantics. This behavior was too permissive and inconsistent with
PostgreSQL. For example, queries such as `SUM(x) WITHIN GROUP (ORDER BY
x)` were allowed, even though `SUM` is not an ordered-set aggregate.

This PR enforces stricter validation so that only UDAFs that explicitly
return `true` from `supports_within_group_clause()` may use `WITHIN
GROUP`. All other aggregates now produce a clear planner error when this
syntax is used.

## What changes are included in this PR?

* Added type alias `WithinGroupExtraction` to simplify complex tuple
return types used by helper functions.
* Introduced a new helper method `extract_and_prepend_within_group_args`
to centralize logic for handling `WITHIN GROUP` argument rewriting.
* Updated the planner to:

* Validate that only UDAFs with `supports_within_group_clause()` can
accept `WITHIN GROUP`.
* Prepend `WITHIN GROUP` ordering expressions to function arguments only
for supported ordered-set aggregates.
* Produce clear error messages when `WITHIN GROUP` is used incorrectly.
* Added comprehensive unit tests verifying correct behavior and failure
cases:

* `WITHIN GROUP` rejected for non-ordered-set aggregates (`MIN`, `SUM`,
etc.).
* `WITHIN GROUP` accepted for ordered-set aggregates such as
`percentile_cont`.
* Validation for named arguments, multiple ordering expressions, and
semantic conflicts with `OVER` clauses.
* Updated SQL logic tests (`aggregate.slt`) to reflect new rejection
behavior.
* Updated documentation:

* `aggregate_functions.md` and developer docs to clarify when and how
`WITHIN GROUP` can be used.
* `upgrading.md` to inform users of this stricter enforcement and
migration guidance.

## Are these changes tested?

 Yes.

* New tests in `sql_integration.rs` validate acceptance, rejection, and
argument behavior of `WITHIN GROUP` for both valid and invalid cases.
* SQL logic tests (`aggregate.slt`) include negative test cases
confirming planner rejections.

## Are there any user-facing changes?

 Yes.

* Users attempting to use `WITHIN GROUP` with regular aggregates (e.g.
`SUM`, `AVG`, `MIN`, `MAX`) will now see a planner error:

  > `WITHIN GROUP is only supported for ordered-set aggregate functions`

* Documentation has been updated to clearly describe `WITHIN GROUP`
semantics and provide examples of valid and invalid usage.

No API-breaking changes were introduced; only stricter planner
validation and improved error messaging.
2025-11-14 02:46:47 +00:00
Andrew Lamb e29009fbcb [main] Update Changelog (#18592) (#18616)
## Which issue does this PR close?

- part of https://github.com/apache/datafusion/issues/17558

## Rationale for this change

- Bring some small changes to changelog to main
## What changes are included in this PR?

Cherry-pick this PR to main:
- https://github.com/apache/datafusion/pull/18592

## Are these changes tested?

By CI
## Are there any user-facing changes?
New changelog content

## 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 #123` indicates that this PR will close issue #123.
-->

- Closes #.

## 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.
-->

## 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?

<!--
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.
-->
2025-11-13 10:04:01 +00:00
Andrew Lamb d57e215f95 Update Release README.md with latest process (#18549)
## Which issue does this PR close?

- part of https://github.com/apache/datafusion/issues/17558



## Rationale for this change

As our releases have become more complex, it is important that our
release documentation reflects the current reality.
While working on the 51 release in
https://github.com/apache/datafusion/issues/17558 I found
it was somewhat out of date (didn't refer to the branches, for example)

## What changes are included in this PR?

Update readme
## Are these changes tested?

N/A
## Are there any user-facing changes?

No -- this is internal developer documentation

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Matt Butrovich <mbutrovich@users.noreply.github.com>
2025-11-11 13:39:10 +00:00
Andrew Lamb 1d8bc9b0e0 [main] Update version to 51.0.0, add Changelog (#18551) (#18565)
## Which issue does this PR close?

- part of https://github.com/apache/datafusion/issues/17558
- port of https://github.com/apache/datafusion/pull/18551

## Rationale for this change

Let's update the version numbers!

## What changes are included in this PR?
- forward port the change from
https://github.com/apache/datafusion/pull/18551 to main

## Are these changes tested?
by CI

## Are there any user-facing changes?
New version
2025-11-09 12:56:52 +00:00
Jonathan Chen 2bb7bf698d doc: Add Join Physical Plan documentation, and configuration flag to benchmarks (#18209)
## 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 #123` indicates that this PR will close issue #123.
-->

- Closes #.

## Rationale for this change
Allow users to understand some decisions for when to change certain
joins configurations.
<!--
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 readme to joins physical plan
<!--
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.
-->
2025-10-26 11:05:15 +00:00
Andrew Lamb 8054bb8818 [branch-50] Prepare 50.3.0 release version number and README (#18173) (#18182)
## Which issue does this PR close?

- Related to https://github.com/apache/datafusion/issues/18072

## Rationale for this change
Bring 50.3.0 changes to main

## What changes are included in this PR?

- cherry-pick https://github.com/apache/datafusion/pull/18173 into main:
- CHANGELOG
- Version number change

## Are these changes tested?
Yes by CI

## 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.
-->
2025-10-21 19:43:26 +00:00
Tim Saucer 8e1d13a9c6 refactor: move arrow datasource to new datafusion-datasource-arrow crate (#18082)
## Which issue does this PR close?

- This addresses part of
https://github.com/apache/datafusion/issues/17713 but it does not close
it.

## Rationale for this change

In order to remove `core` from `proto` crate, we need `ArrowFormat` to
be available. Similar to the other datasource types (csv, avro, json,
parquet) this splits the Arrow IPC file format into its own crate.

## What changes are included in this PR?

This is a straight refactor. Code is merely moved around.

The size of the diff is the additional files that are required
(cargo.toml, readme.md, etc)

## Are these changes tested?

Existing unit tests.

## Are there any user-facing changes?

Users that include `ArrowSource` may need to update their include paths.
For most, the reexports will cover this need.
2025-10-17 10:44:10 +00:00
xudong.w 68d59c15a1 Prepare for 50.2.0 release (#17963) (#18057) 2025-10-14 14:34:14 +00:00
Andrew Lamb 10a437b826 [forward port] Change version to 50.1.0 and add changelog (#17748) (#17826)
* Change version to 50.1.0 and add changelog (#17748)

* Update versions in Cargo.toml
2025-10-03 03:55:52 +00:00
Yongting You 2987e80ee5 dev: Add Apache license check to the lint script (#17787)
* Add liscense checker ci script

* fix the deliberately added bad license header

* review: use dev profile and pin the version
2025-09-28 13:12:24 +00:00
Jeffrey Vo 33fe3ec917 chore: remove homebrew publish instructions from release steps (#17735) 2025-09-23 17:58:45 +00:00
xudong.w 1a53ba0d20 Update release readme (#17591) 2025-09-16 08:30:18 -04:00
xudong.w 9942ecd4ac Update version to 50.0.0 (#17463)
* Update version to 50.0.0

* prettier

* use 50.0.0
2025-09-07 20:55:26 +08:00
Geoffrey Claude 3f422a1746 feat: Support FILTER clause in aggregate window functions (#17378)
* feat: Support `FILTER` clause in aggregate window functions

* fix: Box `WindowFunction` in `ExprFuncKind` enum to reduce enum total size

As suggested by `clippy`:

```
warning: large size difference between variants
   --> datafusion/expr/src/expr_fn.rs:772:1
    |
772 | / pub enum ExprFuncKind {
773 | |     Aggregate(AggregateFunction),
    | |     ---------------------------- the second-largest variant contains at least 72 bytes
774 | |     Window(WindowFunction),
    | |     ---------------------- the largest variant contains at least 288 bytes
775 | | }
    | |_^ the entire enum is at least 288 bytes
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
    = note: `#[warn(clippy::large_enum_variant)]` on by default
help: consider boxing the large fields to reduce the total size of the enum
    |
774 -     Window(WindowFunction),
774 +     Window(Box<WindowFunction>),
    |
```

* test: Add DataFrame API test for FILTER clause on aggregate window functions

* docs: Update aggregate and window function documentation with FILTER support

* docs: Link missing proto fields to github issue in TODO comment
2025-09-05 22:18:23 +10:00
Ruihang Xia 1c86ec7f52 chore: fix typos (#17135)
Co-authored-by: Piotr Findeisen <piotr.findeisen@gmail.com>
2025-08-27 14:14:40 -07:00
Andrew Lamb 3f96c3f3fb [main] Forward port 49.0.2 version and changelog (#17277) (#17287)
* [branch-49] Prepare `49.0.2` version and changelog (#17277)

* Update versio to 49.0.2

* Add changelog

* update configuration docs

* Update Cargo.lock
2025-08-22 14:00:35 -04:00
Andrew Lamb 810339666a [branch-49] Update version to 49.0.1 and add changelog (#17175) (#17191)
* Update to version 49.0.1

* Add changelog for 49.0.1

* Fix sqllogictests

* update configs

* Update with PR

* prettier

* Fix slt race condition

* Tweak release notes
2025-08-14 14:29:58 -04:00
Oleks V 9d9cde499b chore: Enforce checks for RC branches (#17132)
* chore: Enforce checks for RC branches
2025-08-12 09:00:37 -07:00
Yongting You 173989cc2f Docs: Add Tuning Guide for larger-than-memory queries (#17069)
* tuning guide for out-of-core execution

* Update dev/update_config_docs.sh

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* Update dev/update_config_docs.sh

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* Update dev/update_config_docs.sh

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* fix ci

---------

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2025-08-08 07:33:07 -04:00
Andrew Lamb f10deb67a3 Add Tuning Guide for small data / short queries (#17040) 2025-08-05 19:29:02 +08:00
Andrew Lamb 4c36226bc4 Docs: Add Examples to Config Options page (#17039) 2025-08-05 19:15:36 +08:00
xudong.w e412859a04 Update release process (#16929) 2025-07-27 21:48:53 +08:00
Andrew Lamb 5dd706d631 [main] Update version to 49.0.0, add 49.0.0 changelog (#16855)
* [branch-49] Update version to `49.0.0`, add changelog (#16822)

* Update version to 49.0.0

* Add 49.0.0 changelog

* prettier

* Update changelog and config

* chore: use `equals_datatype`  for `BinaryExpr` (#16813) (#16847)

* chore: use `equals_datatype` instead of direct type comparison for `BinaryExpr`

* chore: use `equals_datatype` instead of direct type comparison for `BinaryExpr`

(cherry picked from commit acff1b6bdd)

* [branch-49] Final Changelog Tweaks (#16852)

---------

Co-authored-by: Oleks V <comphead@users.noreply.github.com>
2025-07-23 10:10:25 -04:00
Andrew Lamb 2bdf167118 Add link to upgrade guide in changelog script (#16680)
* Add link to upgrade guide in changelog script

* remove changelog
2025-07-09 16:39:13 +08:00
Andrew Lamb e950df5279 Update release instructions (#16701) 2025-07-08 11:39:01 +08:00
Andrew Lamb e063a8d958 Consolidate configuration sections in docs (#16544)
* Consolidate configuration sectionds in docs

* remove another referece
2025-06-25 15:29:36 -04:00
xudong.w 55f1ea69b0 Update publish command (#16377) 2025-06-11 13:22:05 -04:00
xudong.w 85f6621a6b Chore: update DF48 changelog (#16269) 2025-06-06 17:03:00 +08:00
xudong.w 992d156c46 Prepare for 48.0.0 release: Version and Changelog (#16238)
* Prepare for 48.0.0 release: Version and Changelog

* update
2025-06-04 10:59:31 +08:00
Andrew Lamb 3922800201 Final release note touchups (#15741) 2025-04-17 09:30:09 -04:00
Lokesh 2cba3ad178 Set DataFusion runtime configurations through SQL interface (#15594)
* Set DataFusion runtime configurations through SQL interface

* fix clippy warnings

* use spill count based tests for checking applied memory limit

---------

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2025-04-17 11:30:13 +08:00
xudong.w bdd52a7e2b Update version to 47.0.0, add CHANGELOG (#15731) 2025-04-16 12:44:41 -04:00
xudong.w c007ca000a Update version to 46.0.1, add CHANGELOG (#15243) (#15244) 2025-03-16 06:23:52 -04:00
Andrew Lamb dfaede0ba5 Minor: final 46.0.0 release tweaks: changelog + instructions (#15073)
* [branch-46] Update changelog for backports to 46.0.0 (#14977)

* Add note about upgrade guide into the release notes (#14979)

* Add new crates

---------

Co-authored-by: xudong.w <wxd963996380@gmail.com>
2025-03-09 09:36:50 -04:00
Ruihang Xia dfb711ff06 feat: Add dependency checks to verify-release-candidate script (#15009)
Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
2025-03-05 09:14:07 -08:00
Andrew Lamb d083a2f7ce Fix verification script and extended tests due to rustup changes (#14990)
* Fix rustup toolchain errors

* Use standard builder setup in extended tests

* fix yaml

* sprinkle sudo

* Revert "sprinkle sudo"

This reverts commit 0ed0e0ab5ad7f904cb6fb93c57fd063e5911ffc6.

* no contianer

* use rust container

* fix extended jobs

* fix

* Update .github/workflows/extended.yml
2025-03-04 14:54:44 +08:00