You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[9898131742] Fix arrow projection with dynamic schema (#2630)
#### Reference Issues/PRs
Monday ref: 9898131742
#### What does this implement or fix?
This PR modifies `NullReducer` code to not rely on the slice index and
by preserving a `column_block_offset_` state avoids an unneeded `log(n)`
search for the offset.
#### Any other comments?
`NullReducer` code was assuming that `len(slice_and_keys) =
len(row_slices_per_column)` when using `dynamic_schema=True`. That is
not true if we use projections.
E.g. for the following projection our slicing would look like:
```
Given:
TD key 1:
index A
1 1
2 2
TD key 2:
index A B
3 3 1
4 4 2
TD key 3:
index B
5 3
6 4
And we do a projection like `q.apply("C", q["A"] + q["B"])` our slicing would look
like:
Slice 1: TD key 1
Slice 2: TD key 2
Slice 3:
index C
3 4
4 6
Slice 4: TD key 3
```
#### Checklist
<details>
<summary>
Checklist for code changes...
</summary>
- [ ] Have you updated the relevant docstrings, documentation and
copyright notice?
- [ ] Is this contribution tested against [all ArcticDB's
features](../docs/mkdocs/docs/technical/contributing.md)?
- [ ] Do all exceptions introduced raise appropriate [error
messages](https://docs.arcticdb.io/error_messages/)?
- [ ] Are API changes highlighted in the PR description?
- [ ] Is the PR labelled as enhancement or bug so it appears in
autogenerated release notes?
</details>
<!--
Thanks for contributing a Pull Request to ArcticDB! Please ensure you
have taken a look at:
- ArcticDB's Code of Conduct:
https://github.com/man-group/ArcticDB/blob/master/CODE_OF_CONDUCT.md
- ArcticDB's Contribution Licensing:
https://github.com/man-group/ArcticDB/blob/master/docs/mkdocs/docs/technical/contributing.md#contribution-licensing
-->
0 commit comments