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

Review Nothing in joins, equality and comparator between InMemory and InDB #5156

Closed
wdanilo opened this issue Feb 5, 2023 · 12 comments
Closed
Assignees
Labels
-libs Libraries: New libraries to be implemented l-derived-columns p-high Should be completed in the next sprint x-new-feature Type: new feature request
Milestone

Comments

@wdanilo
Copy link
Member

wdanilo commented Feb 5, 2023

This task is to review the handling of Nothing equality both for In-Memory and Database tables.

The design is to do consistently with how databases handle this:

  • A == Nothing and A != Nothing returns Nothing regardless of A.
  • A > Nothing returns Nothing regardless of A (though only valid is A is comparable column) and similarly for <, <=, >=. between.
  • is_nothing should return True/False never Nothing.
  • If Nothing is in the list for is_in then results should be True if another entry matches or Nothing otherwise. This implies the behavior for is not in as is .is_in.not.
  • Should be able to distinct with Nothing
  • Should be able to sort with Nothing (Nothing ends up below minimum value by default).

All of the above should work in Filter_Condition as well.
Equality in Joins should follow the same logic (i.e. can't do Nothing == Nothing in a join they just get dropped).
Likewise, Between conditions.

For In-Memory, if a Nothing is used in a condition we should attach a warning.

@wdanilo wdanilo added this to the Beta Release milestone Feb 6, 2023
@jdunkerley jdunkerley moved this to ❓New in Issues Board Feb 7, 2023
@jdunkerley jdunkerley self-assigned this Feb 14, 2023
@jdunkerley jdunkerley moved this from ❓New to 📤 Backlog in Issues Board Feb 14, 2023
@jdunkerley jdunkerley added p-high Should be completed in the next sprint and removed p-low Low priority labels Sep 5, 2023
@jdunkerley jdunkerley moved this from 📤 Backlog to 🔧 Implementation in Issues Board Dec 15, 2023
@jdunkerley jdunkerley changed the title Review Nothing in joins, equality and comparator between Enso, InMemory and InDB Review Nothing in joins, equality and comparator between InMemory and InDB Jan 2, 2024
@jdunkerley jdunkerley moved this from 🔧 Implementation to 📤 Backlog in Issues Board Jan 2, 2024
@GregoryTravis GregoryTravis moved this from 📤 Backlog to 🔧 Implementation in Issues Board Jan 9, 2024
@enso-bot
Copy link

enso-bot bot commented Jan 9, 2024

Greg Travis reports a new STANDUP for today (2024-01-09):

Progress: Writing tests; finding all implementations of == It should be finished by 2024-01-15.

Next Day: comprehensive tests

@enso-bot
Copy link

enso-bot bot commented Jan 12, 2024

Greg Travis reports a new STANDUP for today (2024-01-12):

Progress: Attempt to reproduce invariant contract violation; tests for Nothing/join It should be finished by 2024-01-15.

Next Day: comprehensive tests

@enso-bot
Copy link

enso-bot bot commented Jan 15, 2024

Greg Travis reports a new STANDUP for today (2024-01-15):

Progress: Tried to figure out why my test type wasn't Comparable; also test Nothing as main value; examining in-mem failures and fixing the ones that were just bugs; running against db backend + fixing It should be finished by 2024-01-15.

Next Day: run against dbs + write up work to do

@enso-bot
Copy link

enso-bot bot commented Jan 16, 2024

Greg Travis reports a new 🔴 DELAY for today (2024-01-16):

Summary: There is 2 days delay in implementation of the Review Nothing in joins, equality and comparator between InMemory and InDB (#5156) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: task is also to fix inconsistencies

@enso-bot
Copy link

enso-bot bot commented Jan 16, 2024

Greg Travis reports a new STANDUP for today (2024-01-16):

Progress: Additional test cases; modified Nothing tests to run against db backends: cast columns, no date_time for sqlite; removed special null handling in Column.is_in in database backends; fixed time zone test failure; Fixed Char==Nothing non-fallback case. It should be finished by 2024-01-17.

Next Day: run against dbs + write up work to do

@enso-bot
Copy link

enso-bot bot commented Jan 17, 2024

Greg Travis reports a new STANDUP for the provided date (2024-01-10):

Progress: Test; debugging ci failure in Map_Error (invariant contract violation); stopped early because sick It should be finished by 2024-01-17.

Next Day: comprehensive tests

@enso-bot
Copy link

enso-bot bot commented Jan 17, 2024

Greg Travis reports a new 🔴 DELAY for today (2024-01-17):

Summary: There is 1 days delay in implementation of the Review Nothing in joins, equality and comparator between InMemory and InDB (#5156) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: task is also to fix inconsistencies

@enso-bot
Copy link

enso-bot bot commented Jan 17, 2024

Greg Travis reports a new STANDUP for today (2024-01-17):

Progress: Finished all Column operators in mem & db; optimizing / rewriting boolean is_in. It should be finished by 2024-01-18.

Next Day: joins + filter conditions

@enso-bot
Copy link

enso-bot bot commented Jan 18, 2024

Greg Travis reports a new 🔴 DELAY for today (2024-01-18):

Summary: There is 1 days delay in implementation of the Review Nothing in joins, equality and comparator between InMemory and InDB (#5156) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: task is also to fix inconsistencies

@enso-bot
Copy link

enso-bot bot commented Jan 18, 2024

Greg Travis reports a new STANDUP for today (2024-01-18):

Progress: Optimized bool is_in, and simplified it. Updating join tests It should be finished by 2024-01-19.

Next Day: joins + filter conditions

@enso-bot
Copy link

enso-bot bot commented Jan 19, 2024

Greg Travis reports a new 🔴 DELAY for today (2024-01-19):

Summary: There is 3 days delay in implementation of the Review Nothing in joins, equality and comparator between InMemory and InDB (#5156) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: task is also to fix inconsistencies

@enso-bot
Copy link

enso-bot bot commented Jan 19, 2024

Greg Travis reports a new STANDUP for today (2024-01-19):

Progress: Fixed existing tests; added support for relational NULL handling in Filter_Condition, but ultimately removed that; sent PR; investigating join implementation It should be finished by 2024-01-22.

Next Day: joins + filter conditions

@GregoryTravis GregoryTravis moved this from 🔧 Implementation to 👁️ Code review in Issues Board Jan 22, 2024
@github-project-automation github-project-automation bot moved this from 👁️ Code review to 🟢 Accepted in Issues Board Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-libs Libraries: New libraries to be implemented l-derived-columns p-high Should be completed in the next sprint x-new-feature Type: new feature request
Projects
Archived in project
Development

No branches or pull requests

4 participants