• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

petbox-dev / tafra / 23668503360
95%

Build:
DEFAULT BRANCH: main
Ran 27 Mar 2026 09:35PM UTC
Jobs 1
Files 6
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Mar 2026 09:35PM UTC coverage: 93.133% (+0.8%) from 92.338%
23668503360

push

github

web-flow
fix: join correctness — cross join pairs, dtype promotion, null keys, empty tables (#27)

* fix: join correctness — cross join pairs, dtype promotion, null keys, empty tables

- Move _left_join_indices from Join to LeftJoin (Fix 1)
- Fix cross join: use np.repeat for left side, np.tile for right (Fix 2)
- Fix cross join column precedence: left wins on shared columns (Fix 3)
- Dtype promotion via np.result_type for same-family key types (Fix 4)
- Raise ValueError on composite key space overflow (Fix 5)
- Allow empty table joins with warning and shortcut results (Fix 6)
- NULL != NULL in join keys: filter null rows before encoding (Fix 7)
- Cross join select uses list for ordering, ignores empty sides (Fix 8)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor: reorganize test_tafra.py into classes by category

Move all standalone test functions into organized test classes:
TestConstruction, TestSQL, TestDestructors, TestProperties,
TestColumnOps, TestDtypes, TestFormatting, TestIteration,
TestGroupBy, TestTransform, TestMap, TestUnion, TestSlice,
TestDatetime, TestCSV, TestStringDtype, TestInnerJoin,
TestLeftJoin, TestCrossJoin, TestChunking, TestMisc.

Add comprehensive join correctness tests verifying exact row
pairings, all 6 operators, dtype promotion, null key handling,
empty tables, select filtering, column precedence, and C vs
Python result equivalence.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: comprehensive null handling & dtype behavior section in joins.md

Covers dtype validation, np.result_type promotion, NULL != NULL semantics,
null-fill by dtype, type promotion in results, empty table joins, column
selection behavior, non-equality join performance, and row ordering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: dtype promotion was unreachable due to _reduce_dtype shortcut

_reduce_dtype collapses int32/int64 both to 'int', so the base-type
co... (continued)

255 of 303 new or added lines in 1 file covered. (84.16%)

6 existing lines in 1 file now uncovered.

1546 of 1660 relevant lines covered (93.13%)

0.93 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
48
87.07
3.46% tafra/group.py

Uncovered Existing Lines

Lines Coverage ∆ File
6
87.07
3.46% tafra/group.py
Jobs
ID Job ID Ran Files Coverage
1 23668503360.1 27 Mar 2026 09:35PM UTC 6
93.13
GitHub Action Run
Source Files on build 23668503360
  • Tree
  • List 6
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23668503360
  • 4ab4f8df on github
  • Prev Build on main (#23523831258)
  • Next Build on main (#23695947661)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc