Skip to content

Implement IS UNKNOWN/IS NOT UNKNOWN operators - #3246

Merged
andygrove merged 1 commit into
apache:masterfrom
isidentical:gh-3195
Aug 24, 2022
Merged

Implement IS UNKNOWN/IS NOT UNKNOWN operators#3246
andygrove merged 1 commit into
apache:masterfrom
isidentical:gh-3195

Conversation

@isidentical

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes#3195.

Rationale for this change

This PR implements IS UNKNOWN and IS NOT UNKNOWN SQL operations (similar to #3235).

What changes are included in this PR?

The transformation of SQL-level IS UNKNOWN / IS NOT UNKNOWN operations to IS DISTINCT FROM queries in the logical level.

Are there any user-facing changes?

2 new operators.

@andygroveI assume that just like #3225, this would also require some type-checking. Should we implement it afterwards, or should we wait your PR and I can make the required changes in this PR.

@github-actionsgithub-actionsBot added core Core DataFusion crate sql SQL Planner labels Aug 24, 2022
@isidentical
isidentical marked this pull request as ready for review August 24, 2022 13:30
@isidentical

Copy link
Copy Markdown
ContributorAuthor

Also CC: @sarahyurick

@andygrove

Copy link
Copy Markdown
Member

Thanks @isidentical! I think we can go and merge this and then add the type checking once my PR is merged (which could take a while). I filed #3247 to track this.

@isidentical

Copy link
Copy Markdown
ContributorAuthor

Thanks @andygrove! I've subscribed to your PR, so hopefully once it is merged I can start working on the type-checking phase in another PR.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #3246 (5aa0d2a) into master (bdc56ca) will increase coverage by 0.00%.
The diff coverage is 100.00%.

❗ Current head 5aa0d2a differs from pull request most recent head 225aebe. Consider uploading reports for the commit 225aebe to get more accurate results

@@ Coverage Diff @@## master #3246 +/- ##
=======================================
Coverage 85.84% 85.85% =======================================
Files 293 293 Lines 53246 53284 +38 =======================================
+ Hits 45710 45747 +37 - Misses 7536 7537 +1 
Impacted FilesCoverage Δ
datafusion/core/tests/sql/expr.rs99.85% <100.00%> (+<0.01%)⬆️
datafusion/sql/src/planner.rs80.59% <100.00%> (+0.07%)⬆️
datafusion/expr/src/logical_plan/plan.rs78.38% <0.00%> (-0.35%)⬇️
datafusion/expr/src/window_frame.rs93.27% <0.00%> (+0.84%)⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@andygrove
andygrove merged commit 94dacce into apache:masterAug 24, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = bdc56ca and contender = 94dacce. 94dacce is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Skipped ⚠️ Benchmarking of arrow-datafusion-commits is not supported on ec2-t3-xlarge-us-east-2] ec2-t3-xlarge-us-east-2
[Skipped ⚠️ Benchmarking of arrow-datafusion-commits is not supported on test-mac-arm] test-mac-arm
[Skipped ⚠️ Benchmarking of arrow-datafusion-commits is not supported on ursa-i9-9960x] ursa-i9-9960x
[Skipped ⚠️ Benchmarking of arrow-datafusion-commits is not supported on ursa-thinkcentre-m75q] ursa-thinkcentre-m75q
Buildkite builds:
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

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

Labels

coreCore DataFusion cratesqlSQL Planner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support "IS [NOT] UNKNOWN" syntax

4 participants

@isidentical@andygrove@codecov-commenter@ursabot