Skip to content

Drop missing from juliaeltype if ValidityBitmap is all valid. - #477

Open
evetion wants to merge 1 commit into
apache:mainfrom
evetion:main
Open

Drop missing from juliaeltype if ValidityBitmap is all valid.#477
evetion wants to merge 1 commit into
apache:mainfrom
evetion:main

Conversation

@evetion

@evetionevetion commented Jul 27, 2023

Copy link
Copy Markdown

Fixes#384
Fixes#373

This does fail a number of tests, which we can fix after we agree on the direction of this PR.

@evetionevetion changed the title Drop missing from juliaeltype if ValidityBitmap is all valid.Drop missing from juliaeltype if ValidityBitmap is all valid.Jul 27, 2023
@evetion

Copy link
Copy Markdown
Author

Fixes #283

@codecov-commenter

codecov-commenter commented Aug 4, 2023

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 43 lines in your changes missing coverage. Please review.
✅ Project coverage is 5.11%. Comparing base (f8d2203) to head (8cb11a7).
⚠️ Report is 63 commits behind head on main.

Files with missing linesPatch %Lines
src/eltypes.jl0.00%29 Missing ⚠️
src/table.jl0.00%13 Missing ⚠️
src/arraytypes/arraytypes.jl0.00%1 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (f8d2203) and HEAD (8cb11a7). Click for more details.

HEAD has 6 uploads less than BASE
FlagBASE (f8d2203)HEAD (8cb11a7)
126
Additional details and impacted files
@@ Coverage Diff @@## main #477 +/- ##
==========================================
- Coverage 87.50% 5.11% -82.39% 
==========================================
Files 26 25 -1 Lines 3280 3208 -72 ==========================================
- Hits 2870 164 -2706 - Misses 410 3044 +2634 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.


Base.size(p::ValidityBitmap) = (p.ℓ,)
nullcount(x::ValidityBitmap) = x.nc
Base.all(x::ValidityBitmap) = x.nc == 0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't love overloading all here; can we just call this allvalid? I don't think we need to overload anything for this.

Comment threadsrc/eltypes.jl
f.type.mode,
typeids,
Tuple{(juliaeltype(x, buildmetadata(x), convert) for x in f.children)...},
Tuple{(juliaeltype(x, buildmetadata(x), convert, false) for x in f.children)...},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you help me understand why we hard-code false in a number of places for the allvalid argument? vs. in other places calling all(validity)?

@quinnjquinnj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'm fine going this direction. I'd like to think a bit on if there may be unintended consequences here, but it seems like it should be strictly an improvement.

@evetion

Copy link
Copy Markdown
Author

Ok, I will fix the tests 😃

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nullable fields don't always need Union{Missing, T} Addtional Missing gets injected into Schema

3 participants

@evetion@codecov-commenter@quinnj