bug fix: account for incorrect comparisons involving null values #67
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description & motivation
Currently, the
compare_all_columns
macro does a poor job of distinguishing between missing data and null values.We must check to see if the primary key exists in both of the two tables to determine whether the value in that table is null or missing.
With this update, the code checks that a primary key exists in both tables before declaring a
perfect_match
. This was already accounted for in other logical checks (e.g.,null_in_a
,null_in_b
).There are also errors in the
conflicting_values
logic leading to incorrectly countingconflicting_values
as false when comparing anull
to anot null
value when the PKs are present in both tables.Checklist