-
Notifications
You must be signed in to change notification settings - Fork 323
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
Comments
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 |
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 |
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 |
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. Delay Cause: task is also to fix inconsistencies |
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 |
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 |
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. Delay Cause: task is also to fix inconsistencies |
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 |
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. Delay Cause: task is also to fix inconsistencies |
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 |
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. Delay Cause: task is also to fix inconsistencies |
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 |
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
andA != Nothing
returnsNothing
regardless ofA
.A > Nothing
returnsNothing
regardless ofA
(though only valid isA
is comparable column) and similarly for<
,<=
,>=
.between
.is_nothing
should returnTrue
/False
neverNothing
.Nothing
is in the list foris_in
then results should beTrue
if another entry matches orNothing
otherwise. This implies the behavior for is not in as is.is_in.not
.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.
The text was updated successfully, but these errors were encountered: