Closed wdanilo closed 9 months ago
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. It will cause 0 days delay for the delivery of this weekly plan.
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. It will cause 0 days delay for the delivery of this weekly plan.
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. It will cause 0 days delay for the delivery of this weekly plan.
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. It will cause 0 days delay for the delivery of this weekly plan.
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.