Commit d1dafdc
Change aggr default to keep all rows (like proj)
Breaking change: aggr() now keeps all rows by default (LEFT JOIN).
- Rename keep_all_rows → exclude_nonmatching with inverted semantics
- exclude_nonmatching=False (default): keep all rows from self
- exclude_nonmatching=True: keep only rows with matches (INNER JOIN)
This makes aggr consistent with proj - neither affects row count by default.
Old: Subject.aggr(Session, n="count(*)") → only subjects with sessions
New: Subject.aggr(Session, n="count(*)") → all subjects (n=0 for those without)
To get old behavior: Subject.aggr(Session, n="count(*)", exclude_nonmatching=True)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <[email protected]>1 parent a237b26 commit d1dafdc
File tree
5 files changed
+629
-20
lines changed- specs
- src/datajoint
- tests/integration
5 files changed
+629
-20
lines changed
0 commit comments