@@ -1060,7 +1060,7 @@ public long longValue() {
10601060 }
10611061
10621062 @ Override
1063- public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs ) throws IOException {
1063+ public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
10641064 for (int i = 0 ; i < docs .count (); i ++) {
10651065 builder .appendLong (0L );
10661066 }
@@ -1072,7 +1072,7 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) {
10721072 }
10731073
10741074 @ Override
1075- public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs ) throws IOException {
1075+ public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
10761076 for (int i = 0 ; i < docs .count (); i ++) {
10771077 builder .appendInt (0 );
10781078 }
@@ -1084,10 +1084,14 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
10841084 }
10851085
10861086 @ Override
1087- public void loadBlock (BlockLoader .DoubleBuilder builder , BlockLoader .Docs docs , BlockDocValuesReader .ToDouble toDouble )
1088- throws IOException {
1087+ public void loadBlock (
1088+ BlockLoader .DoubleBuilder builder ,
1089+ BlockLoader .Docs docs ,
1090+ int offset ,
1091+ BlockDocValuesReader .ToDouble toDouble
1092+ ) throws IOException {
10891093 double value = toDouble .convert (0L );
1090- for (int i = 0 ; i < docs .count (); i ++) {
1094+ for (int i = offset ; i < docs .count (); i ++) {
10911095 builder .appendDouble (value );
10921096 }
10931097 }
@@ -1169,8 +1173,8 @@ public long longValue() {
11691173 }
11701174
11711175 @ Override
1172- public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs ) throws IOException {
1173- for (int i = 0 ; i < docs .count (); i ++) {
1176+ public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1177+ for (int i = offset ; i < docs .count (); i ++) {
11741178 if (disi .advanceExact (docs .get (i ))) {
11751179 builder .appendLong (0L );
11761180 } else {
@@ -1189,8 +1193,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
11891193 }
11901194
11911195 @ Override
1192- public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs ) throws IOException {
1193- for (int i = 0 ; i < docs .count (); i ++) {
1196+ public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1197+ for (int i = offset ; i < docs .count (); i ++) {
11941198 if (disi .advanceExact (docs .get (i ))) {
11951199 builder .appendInt (0 );
11961200 } else {
@@ -1209,10 +1213,14 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
12091213 }
12101214
12111215 @ Override
1212- public void loadBlock (BlockLoader .DoubleBuilder builder , BlockLoader .Docs docs , BlockDocValuesReader .ToDouble toDouble )
1213- throws IOException {
1216+ public void loadBlock (
1217+ BlockLoader .DoubleBuilder builder ,
1218+ BlockLoader .Docs docs ,
1219+ int offset ,
1220+ BlockDocValuesReader .ToDouble toDouble
1221+ ) throws IOException {
12141222 double value = toDouble .convert (0L );
1215- for (int i = 0 ; i < docs .count (); i ++) {
1223+ for (int i = offset ; i < docs .count (); i ++) {
12161224 if (disi .advanceExact (docs .get (i ))) {
12171225 builder .appendDouble (value );
12181226 } else {
@@ -1307,8 +1315,8 @@ private void loadCurrentBlock(int blockIndex) throws IOException {
13071315 }
13081316
13091317 @ Override
1310- public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs ) throws IOException {
1311- for (int i = 0 ; i < docs .count (); i ++) {
1318+ public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1319+ for (int i = offset ; i < docs .count (); i ++) {
13121320 doc = docs .get (i );
13131321 builder .appendLong (longValue ());
13141322 }
@@ -1343,8 +1351,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
13431351 }
13441352
13451353 @ Override
1346- public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs ) throws IOException {
1347- for (int i = 0 ; i < docs .count (); i ++) {
1354+ public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1355+ for (int i = offset ; i < docs .count (); i ++) {
13481356 doc = docs .get (i );
13491357 builder .appendInt (Math .toIntExact (longValue ()));
13501358 }
@@ -1381,9 +1389,13 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
13811389 }
13821390
13831391 @ Override
1384- public void loadBlock (BlockLoader .DoubleBuilder builder , BlockLoader .Docs docs , BlockDocValuesReader .ToDouble toDouble )
1385- throws IOException {
1386- for (int i = 0 ; i < docs .count (); i ++) {
1392+ public void loadBlock (
1393+ BlockLoader .DoubleBuilder builder ,
1394+ BlockLoader .Docs docs ,
1395+ int offset ,
1396+ BlockDocValuesReader .ToDouble toDouble
1397+ ) throws IOException {
1398+ for (int i = offset ; i < docs .count (); i ++) {
13871399 doc = docs .get (i );
13881400 builder .appendDouble (toDouble .convert (longValue ()));
13891401 }
@@ -1463,10 +1475,10 @@ public long longValue() throws IOException {
14631475 }
14641476
14651477 @ Override
1466- public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs ) throws IOException {
1478+ public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
14671479 // TODO: collect all doc ids for current block and then append values to builder?
14681480
1469- for (int i = 0 ; i < docs .count (); i ++) {
1481+ for (int i = offset ; i < docs .count (); i ++) {
14701482 int docId = docs .get (i );
14711483 if (disi .advanceExact (docId )) {
14721484 builder .appendLong (longValue ());
@@ -1486,10 +1498,10 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
14861498 }
14871499
14881500 @ Override
1489- public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs ) throws IOException {
1501+ public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
14901502 // TODO: collect all doc ids for current block and then append values to builder?
14911503
1492- for (int i = 0 ; i < docs .count (); i ++) {
1504+ for (int i = offset ; i < docs .count (); i ++) {
14931505 int docId = docs .get (i );
14941506 if (disi .advanceExact (docId )) {
14951507 int value = Math .toIntExact (longValue ());
@@ -1511,11 +1523,15 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
15111523 }
15121524
15131525 @ Override
1514- public void loadBlock (BlockLoader .DoubleBuilder builder , BlockLoader .Docs docs , BlockDocValuesReader .ToDouble toDouble )
1515- throws IOException {
1526+ public void loadBlock (
1527+ BlockLoader .DoubleBuilder builder ,
1528+ BlockLoader .Docs docs ,
1529+ int offset ,
1530+ BlockDocValuesReader .ToDouble toDouble
1531+ ) throws IOException {
15161532 // TODO: collect all doc ids for current block and then append values to builder?
15171533
1518- for (int i = 0 ; i < docs .count (); i ++) {
1534+ for (int i = offset ; i < docs .count (); i ++) {
15191535 int docId = docs .get (i );
15201536 if (disi .advanceExact (docId )) {
15211537 double value = toDouble .convert (longValue ());
@@ -1638,8 +1654,8 @@ public int docValueCount() {
16381654 }
16391655
16401656 @ Override
1641- public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs ) throws IOException {
1642- for (int i = 0 ; i < docs .count (); i ++) {
1657+ public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1658+ for (int i = offset ; i < docs .count (); i ++) {
16431659 doc = docs .get (i );
16441660 start = addresses .get (doc );
16451661 end = addresses .get (doc + 1L );
@@ -1676,8 +1692,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
16761692 }
16771693
16781694 @ Override
1679- public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs ) throws IOException {
1680- for (int i = 0 ; i < docs .count (); i ++) {
1695+ public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1696+ for (int i = offset ; i < docs .count (); i ++) {
16811697 int docId = docs .get (i );
16821698 start = addresses .get (docId );
16831699 end = addresses .get (docId + 1L );
@@ -1718,9 +1734,13 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
17181734 }
17191735
17201736 @ Override
1721- public void loadBlock (BlockLoader .DoubleBuilder builder , BlockLoader .Docs docs , BlockDocValuesReader .ToDouble toDouble )
1722- throws IOException {
1723- for (int i = 0 ; i < docs .count (); i ++) {
1737+ public void loadBlock (
1738+ BlockLoader .DoubleBuilder builder ,
1739+ BlockLoader .Docs docs ,
1740+ int offset ,
1741+ BlockDocValuesReader .ToDouble toDouble
1742+ ) throws IOException {
1743+ for (int i = offset ; i < docs .count (); i ++) {
17241744 doc = docs .get (i );
17251745 start = addresses .get (doc );
17261746 end = addresses .get (doc + 1L );
@@ -1808,8 +1828,8 @@ public long nextValue() throws IOException {
18081828 }
18091829
18101830 @ Override
1811- public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs ) throws IOException {
1812- for (int i = 0 ; i < docs .count (); i ++) {
1831+ public void loadBlock (BlockLoader .LongBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1832+ for (int i = offset ; i < docs .count (); i ++) {
18131833 if (disi .advanceExact (docs .get (i ))) {
18141834 set ();
18151835 if (count == 1 ) {
@@ -1846,8 +1866,8 @@ public void loadDoc(BlockLoader.LongBuilder builder, int docId) throws IOExcepti
18461866 }
18471867
18481868 @ Override
1849- public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs ) throws IOException {
1850- for (int i = 0 ; i < docs .count (); i ++) {
1869+ public void loadBlock (BlockLoader .IntBuilder builder , BlockLoader .Docs docs , int offset ) throws IOException {
1870+ for (int i = offset ; i < docs .count (); i ++) {
18511871 if (disi .advanceExact (docs .get (i ))) {
18521872 set ();
18531873 if (count == 1 ) {
@@ -1888,9 +1908,13 @@ public void loadDoc(BlockLoader.IntBuilder builder, int docId) throws IOExceptio
18881908 }
18891909
18901910 @ Override
1891- public void loadBlock (BlockLoader .DoubleBuilder builder , BlockLoader .Docs docs , BlockDocValuesReader .ToDouble toDouble )
1892- throws IOException {
1893- for (int i = 0 ; i < docs .count (); i ++) {
1911+ public void loadBlock (
1912+ BlockLoader .DoubleBuilder builder ,
1913+ BlockLoader .Docs docs ,
1914+ int offset ,
1915+ BlockDocValuesReader .ToDouble toDouble
1916+ ) throws IOException {
1917+ for (int i = offset ; i < docs .count (); i ++) {
18941918 if (disi .advanceExact (docs .get (i ))) {
18951919 set ();
18961920 if (count == 1 ) {
0 commit comments