Commit 26d6e1c
committed
fix(api): use ARLEN for get-next-index (RI-8219)
ARNEXT on Redis 8.8.0 GA returns 0 for every populated array — its
documented summary 'returns the next index ARINSERT would use' is a
different operation from what this endpoint exposes (the next safe
write index after the highest populated slot).
ARLEN already returns max_index + 1 for both dense and sparse arrays,
which is exactly the value the endpoint, its response DTO description,
and its integration tests promise. Swap the primitive, tighten the
response shape (`index` is now non-nullable string), drop the
unreachable '(exhausted)' unit case, and remove the now-unused ArNext
enum member plus its ioredis builtin registration.
Caught by the new oss-st-8 RTE on PR #6078, where every
get-next-index Main case was returning index '0' regardless of array
shape. Verified against redis:8.8-alpine: ARLEN k → 3 for a dense
[0,1,2], 6 for sparse [0,_,_,_,_,5] — matches the test expectations.1 parent 0409c61 commit 26d6e1c
7 files changed
Lines changed: 10 additions & 35 deletions
File tree
- redisinsight/api/src/modules
- browser
- array
- dto
- constants
- redis/client/ioredis
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| |||
Lines changed: 1 addition & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
434 | 434 | | |
435 | 435 | | |
436 | 436 | | |
437 | | - | |
| 437 | + | |
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
| |||
481 | 481 | | |
482 | 482 | | |
483 | 483 | | |
484 | | - | |
485 | | - | |
486 | | - | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | 484 | | |
500 | 485 | | |
501 | 486 | | |
| |||
Lines changed: 3 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 23 | + | |
27 | 24 | | |
28 | 25 | | |
29 | 26 | | |
| |||
314 | 311 | | |
315 | 312 | | |
316 | 313 | | |
317 | | - | |
| 314 | + | |
318 | 315 | | |
319 | 316 | | |
320 | 317 | | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | 318 | | |
325 | 319 | | |
326 | 320 | | |
327 | | - | |
| 321 | + | |
328 | 322 | | |
329 | 323 | | |
330 | 324 | | |
| |||
Lines changed: 3 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | 11 | | |
13 | | - | |
| 12 | + | |
14 | 13 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
| 6 | + | |
| 7 | + | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
127 | 126 | | |
128 | 127 | | |
129 | 128 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
| |||
0 commit comments