Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove ScalarFunctionDefinition #10325

Merged
merged 6 commits into from
May 7, 2024

Conversation

lewiszlw
Copy link
Member

@lewiszlw lewiszlw commented May 1, 2024

Which issue does this PR close?

Closes #10175.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@github-actions github-actions bot added logical-expr Logical plan and expressions physical-expr Physical Expressions optimizer Optimizer rules core Core DataFusion crate labels May 1, 2024
Copy link
Contributor

@jayzhan211 jayzhan211 left a comment

Choose a reason for hiding this comment

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

👍

Copy link
Member

@Weijun-H Weijun-H left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks @lewiszlw

@alamb
Copy link
Contributor

alamb commented May 2, 2024

🚀

@alamb alamb added the api change Changes the API exposed to users of the crate label May 2, 2024
Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

Thanks @lewiszlw

datafusion/expr/src/expr.rs Outdated Show resolved Hide resolved
@alamb
Copy link
Contributor

alamb commented May 2, 2024

It might be nice to wait to merge this PR until we make the #10217 release, to minimize API churn as 38.0.0 already removes BuiltInScalarFunction

@github-actions github-actions bot added the sql SQL Planner label May 2, 2024
@lewiszlw
Copy link
Member Author

lewiszlw commented May 2, 2024

Clippy failed on other code. I run clippy locally and more than one warning needed to be addressed, might be done in another pr.

@alamb
Copy link
Contributor

alamb commented May 2, 2024

Clippy failed on other code. I run clippy locally and more than one warning needed to be addressed, might be done in another pr.

I think it may be due to the new rust https://releases.rs/docs/1.78.0/

will file a ticket

update: filed #10352

@alamb
Copy link
Contributor

alamb commented May 2, 2024

I merged up from main to pick up the fix for #10352

@lewiszlw lewiszlw requested a review from alamb May 7, 2024 16:25
@alamb
Copy link
Contributor

alamb commented May 7, 2024

Now that #10407 is merged, I believe main is open for 38.0.0 business !

🚀 -- tanks again @lewiszlw

@alamb alamb merged commit 742e3c5 into apache:main May 7, 2024
23 checks passed
Michael-J-Ward added a commit to Michael-J-Ward/datafusion-python that referenced this pull request Jun 13, 2024
The field `func_name` was changed to `func` as part of removing `ScalarFunctionDefinition` upstream.

Ref apache/datafusion#10325
andygrove pushed a commit to apache/datafusion-python that referenced this pull request Jun 14, 2024
* deps: update datafusion to 39.0.0, pyo3 to 0.21, and object_store to 0.10.1

`datafusion-common` also depends on `pyo3`, so they need to be upgraded together.

* feat: remove GetIndexField

datafusion replaced Expr::GetIndexField with a FieldAccessor trait.

Ref apache/datafusion#10568
Ref apache/datafusion#10769

* feat: update ScalarFunction

The field `func_name` was changed to `func` as part of removing `ScalarFunctionDefinition` upstream.

Ref apache/datafusion#10325

* feat: incorporate upstream array_slice fixes

Fixes #670

* update ExectionPlan::children impl for DatasetExec

Ref apache/datafusion#10543

* update value_interval_daytime

Ref apache/arrow-rs#5769

* update regexp_replace and regexp_match

Fixes #677

* add gil-refs feature to pyo3

This silences pyo3's deprecation warnings for its new Bounds api.

It's the 1st step of the migration, and should be removed before merge.

Ref https://pyo3.rs/v0.21.0/migration#from-020-to-021

* fix signature for octet_length

Ref apache/datafusion#10726

* update signature for covar_samp

AggregateUDF expressions now have a builder API design, which removes arguments like filter and order_by

Ref apache/datafusion#10545
Ref apache/datafusion#10492

* convert covar_pop to expr_fn api

Ref: https://github.com/apache/datafusion/pull/10418/files

* convert median to expr_fn api

Ref apache/datafusion#10644

* convert variance sample to UDF

Ref apache/datafusion#10667

* convert first_value and last_value to UDFs

Ref apache/datafusion#10648

* checkpointing with a few todos to fix remaining compile errors

* impl PyExpr::python_value for IntervalDayTime and IntervalMonthDayNano

* convert sum aggregate function to UDF

* remove unnecessary clone on double reference

* apply cargo fmt

* remove duplicate allow-dead-code annotation

* update tpch examples for new pyarrow interval

Fixes #665

* marked q11 tpch example as expected fail

Ref #730

* add default stride of None back to array_slice
findepi pushed a commit to findepi/datafusion that referenced this pull request Jul 16, 2024
* Remove ScalarFunctionDefinition

* Fix test

* rename func_def to func

---------

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api change Changes the API exposed to users of the crate core Core DataFusion crate logical-expr Logical plan and expressions optimizer Optimizer rules physical-expr Physical Expressions sql SQL Planner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove ScalarFunctionDefinition
4 participants