Skip to content

Commit 58a369f

Browse files
MDP-568 Fix index out of bounds error
Can't slice beyond the end of the dts/index array
1 parent 398e009 commit 58a369f

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

arctic/store/_pandas_ndarray_store.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ def _index_range(self, version, symbol, date_range=None, **kwargs):
171171
start, end = _start_end(date_range, dts)
172172
if start > dts[-1]:
173173
return -1, -1
174-
idxstart = min(np.searchsorted(dts, start), len(dts))
175-
idxend = min(np.searchsorted(dts, end), len(dts))
174+
idxstart = min(np.searchsorted(dts, start), len(dts) - 1)
175+
idxend = min(np.searchsorted(dts, end), len(dts) - 1)
176176
return index['index'][idxstart], index['index'][idxend] + 1
177177
return super(PandasStore, self)._index_range(version, symbol, **kwargs)
178178

tests/integration/store/test_pandas_store.py

+3
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,9 @@ def test_daterange_large_DataFrame(library):
663663
# last row
664664
result = library.read('MYARR', date_range=DateRange(df.index[-1], df.index[-1])).data
665665
assert_frame_equal(df[df.index[-1]:df.index[-1]], result, check_names=False)
666+
# beyond last row
667+
result = library.read('MYARR', date_range=DateRange(df.index[-1], df.index[-1] + dtd(days=1))).data
668+
assert_frame_equal(df[df.index[-1]:df.index[-1]], result, check_names=False)
666669
# somewhere in time
667670
result = library.read('MYARR', date_range=DateRange(dt(2020, 1, 1), dt(2031, 9, 1))).data
668671
assert_frame_equal(df[dt(2020, 1, 1):dt(2031, 9, 1)], result, check_names=False)

0 commit comments

Comments
 (0)