Skip to content

Feat: support array_compact function #1321

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

Merged
merged 19 commits into from
Mar 6, 2025

Conversation

kazantsev-maksim
Copy link
Contributor

Which issue does this PR close?

Related to Epic: #1042
array_compact: SELECT array_compact(array(1, 2, 3, null)) => array(1, 2, 3)
DataFusion' s array_compact has same behavior with Spark 's array_compact function
Spark: https://docs.databricks.com/en/sql/language-manual/functions/array_compact.html
DataFusion: https://datafusion.apache.org/user-guide/sql/scalar_functions.html#array-remove-all

Rationale for this change

Defined under Epic: #1042

What changes are included in this PR?

planner.rs: Maps Spark 's arrays_compact function to DataFusion array_remove_all_udf physical expression from Spark physical expression
expr.proto: arrays_compact message has been added,
QueryPlanSerde.scala: arrays_compact pattern matching case has been added,
CometExpressionSuite.scala: A new UT has been added for arrays_compact function.

How are these changes tested?

A new UT has been added.

Kazantsev Maksim added 2 commits January 22, 2025 10:11
# Conflicts:
#	native/core/src/execution/planner.rs
#	native/proto/src/proto/expr.proto
#	spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
#	spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala
@kazantsev-maksim kazantsev-maksim changed the title Array compact Feat: support array_compact function Jan 22, 2025
@kazantsev-maksim kazantsev-maksim deleted the array_compact branch January 23, 2025 09:33
Kazantsev Maksim added 3 commits January 24, 2025 09:35
# Conflicts:
#	native/core/src/execution/planner.rs
#	native/proto/src/proto/expr.proto
#	spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
#	spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala
@kazantsev-maksim kazantsev-maksim changed the title Feat: support array_compact function Draft: support array_compact function Jan 24, 2025
@kazantsev-maksim kazantsev-maksim changed the title Draft: support array_compact function Feat: support array_compact function Jan 25, 2025
Kazantsev Maksim added 2 commits January 25, 2025 21:16
# Conflicts:
#	spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
Kazantsev Maksim added 4 commits January 29, 2025 09:50
# Conflicts:
#	native/core/src/execution/planner.rs
#	native/proto/src/proto/expr.proto
#	spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
#	spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala
@codecov-commenter
Copy link

codecov-commenter commented Jan 30, 2025

Codecov Report

Attention: Patch coverage is 76.47059% with 4 lines in your changes missing coverage. Please review.

Project coverage is 58.58%. Comparing base (f09f8af) to head (70d6699).
Report is 55 commits behind head on main.

Files with missing lines Patch % Lines
...src/main/scala/org/apache/comet/serde/arrays.scala 80.00% 2 Missing and 1 partial ⚠️
.../scala/org/apache/comet/serde/QueryPlanSerde.scala 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1321      +/-   ##
============================================
+ Coverage     56.12%   58.58%   +2.45%     
- Complexity      976     1015      +39     
============================================
  Files           119      122       +3     
  Lines         11743    12240     +497     
  Branches       2251     2297      +46     
============================================
+ Hits           6591     7171     +580     
+ Misses         4012     3915      -97     
- Partials       1140     1154      +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kazuyukitanimura
Copy link
Contributor

Looks like there are formatting issues

@kazuyukitanimura kazuyukitanimura merged commit 26b406d into apache:main Mar 6, 2025
74 checks passed
@kazuyukitanimura
Copy link
Contributor

Merged thanks @kazantsev-maksim @andygrove

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants