Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Arrow] Properly use the parent's array.offset in many places in the scan #9661

Merged
merged 25 commits into from
Nov 16, 2023
Merged
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
180037a
use parent offsets when scanning lists and varchars
Tishj Nov 12, 2023
37f9186
add test for list of lists
Tishj Nov 12, 2023
7ea3c9b
fixed size list
Tishj Nov 12, 2023
a6aa5bc
binary and large_binary
Tishj Nov 12, 2023
b20a83c
add test with blobs
Tishj Nov 13, 2023
d5da5f6
hunt for issues in struct/list combinations - fixed up some obvious i…
Tishj Nov 13, 2023
2197dd0
test conversion of time values, with all units
Tishj Nov 13, 2023
0362442
fix timestamptz conversion
Tishj Nov 13, 2023
ed2fc4c
fix duration
Tishj Nov 13, 2023
3cbbe38
fix month_day_nanos
Tishj Nov 13, 2023
125160f
realize interval[months] can not be created from pyarrow..
Tishj Nov 13, 2023
10ac70c
fix decimals (16,32,64 and 128 bits)
Tishj Nov 13, 2023
d3a4aa7
use the ArrowBufferData abstraction
Tishj Nov 13, 2023
80861c2
undo previous commit, order of operations between the cast and the ad…
Tishj Nov 13, 2023
570ade1
add missing coverage for bools
Tishj Nov 13, 2023
237f93d
add missing coverage for date32 and date64
Tishj Nov 13, 2023
adb1ce0
add coverage for dictionaries
Tishj Nov 13, 2023
02e134f
remove debug breakpoint code
Tishj Nov 13, 2023
f74814a
rename test, it was misleading/wrong
Tishj Nov 13, 2023
1edc1af
fixed a FIXME, turns out it does need parent_offset
Tishj Nov 14, 2023
8ed74e9
use parent offset when setting the validity mask
Tishj Nov 14, 2023
325ed9b
add tests for null
Tishj Nov 14, 2023
12374c1
need to initialize the offset in this test, because we now read it
Tishj Nov 14, 2023
8fc062f
fix enums in structs that are null
Tishj Nov 14, 2023
27d0e58
Merge remote-tracking branch 'upstream/main' into arrow_parent_offsets
Tishj Nov 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
use the ArrowBufferData abstraction
  • Loading branch information
Tishj committed Nov 13, 2023
commit d3a4aa762ae48b4ce814495d91505674de5fa4ad
4 changes: 2 additions & 2 deletions src/function/table/arrow_conversion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -286,9 +286,9 @@ static void TimeConversion(Vector &vector, ArrowArray &array, ArrowScanLocalStat
int64_t parent_offset, idx_t size, int64_t conversion) {
auto tgt_ptr = FlatVector::GetData<dtime_t>(vector);
auto &validity_mask = FlatVector::Validity(vector);
auto src_ptr = (T *)array.buffers[1] + scan_state.chunk_offset + parent_offset + array.offset;
auto src_ptr = ArrowBufferData<data_t>(array, 1) + scan_state.chunk_offset + parent_offset + array.offset;
if (nested_offset != -1) {
src_ptr = (T *)array.buffers[1] + nested_offset + array.offset;
src_ptr = ArrowBufferData<data_t>(array, 1) + nested_offset + array.offset;
}
for (idx_t row = 0; row < size; row++) {
if (!validity_mask.RowIsValid(row)) {
Expand Down