Skip to content

Commit aab7f11

Browse files
Tweak to bug fix for fetching multiple consecutive nulls in a data
frame.
1 parent 3c38e1c commit aab7f11

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

src/oracledb/interchange/nanoarrow_bridge.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,13 +342,13 @@ cdef class OracleArrowArray:
342342
ArrowBitmap *bitamp
343343
if array is None:
344344
array = self
345+
index = array.arrow_array.length - 1
345346
bitmap = ArrowArrayValidityBitmap(array.arrow_array)
346347
if bitmap != NULL and bitmap.buffer.data != NULL:
347348
as_bool = ArrowBitGet(bitmap.buffer.data, index)
348349
if not as_bool:
349350
self.append_null()
350351
return 0
351-
index = array.arrow_array.length - 1
352352
if array.arrow_type in (NANOARROW_TYPE_INT64, NANOARROW_TYPE_TIMESTAMP):
353353
data_buffer = ArrowArrayBuffer(array.arrow_array, 1)
354354
as_int64 = <int64_t*> data_buffer.data

tests/test_8000_dataframe.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,8 @@ def test_8027(self):
638638
self.__check_interop()
639639
ora_df = self.conn.fetch_df_all(
640640
"""
641+
select to_date('2025-06-12', 'YYYY-MM-DD') as data from dual
642+
union all
641643
select to_date(null) as data from dual
642644
union all
643645
select to_date(null) as data from dual
@@ -656,6 +658,7 @@ def test_8027(self):
656658
"""
657659
)
658660
data = [
661+
(datetime.datetime(2025, 6, 12),),
659662
(None,),
660663
(None,),
661664
(None,),

tests/test_8100_dataframe_async.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,8 @@ async def test_8123(self):
591591
self.__check_interop()
592592
ora_df = await self.conn.fetch_df_all(
593593
"""
594+
select to_date('2025-06-12', 'YYYY-MM-DD') as data from dual
595+
union all
594596
select to_date(null) as data from dual
595597
union all
596598
select to_date(null) as data from dual
@@ -609,6 +611,7 @@ async def test_8123(self):
609611
"""
610612
)
611613
data = [
614+
(datetime.datetime(2025, 6, 12),),
612615
(None,),
613616
(None,),
614617
(None,),

0 commit comments

Comments
 (0)