Files
turso/core
Nikita Sivukhin 63a9fa8c28 fix handling of offset parameter set through variable
- before the fix db generated following plan:

turso> EXPLAIN SELECT * FROM users LIMIT ? OFFSET ?;
addr  opcode             p1    p2    p3    p4             p5  comment
----  -----------------  ----  ----  ----  -------------  --  -------
0     Init               0     16    0                    0   Start at 16
1     Variable           1     1     0                    0   r[1]=parameter(1); OFFSET expr
2     MustBeInt          1     0     0                    0
3     Variable           2     2     0                    0   r[2]=parameter(2); OFFSET expr
4     MustBeInt          2     0     0                    0
5     OffsetLimit        1     3     2                    0   if r[1]>0 then r[3]=r[1]+max(0,r[2]) else r[3]=(-1)
6     OpenRead           0     2     0                    0   table=users, root=2, iDb=0
7     Rewind             0     15    0                    0   Rewind table users
8       Variable         2     2     0                    0   r[2]=parameter(2); OFFSET expr
9       MustBeInt        2     0     0                    0
10      IfPos            2     14    1                    0   r[2]>0 -> r[2]-=1, goto 14
11      Column           0     0     4                    0   r[4]=users.x
12      ResultRow        4     1     0                    0   output=r[4]
13      DecrJumpZero     1     15    0                    0   if (--r[1]==0) goto 15
14    Next               0     8     0                    0
15    Halt               0     0     0                    0
16    Transaction        0     1     1                    0   iDb=0 tx_mode=Read
17    Goto               0     1     0                    0

- the problem here is that Variable value is re-read at step 8 - which is wrong
2025-09-26 18:05:36 +04:00
..
2025-09-23 14:22:02 -04:00
2025-09-24 18:06:55 -03:00
2025-06-30 10:01:03 +03:00
2025-09-26 17:11:06 +04:00
2025-08-15 17:08:53 -04:00
2025-01-28 14:55:38 -05:00
2025-09-25 22:52:08 -03:00
2025-09-17 11:57:23 +03:00
2025-01-28 14:55:38 -05:00
2025-09-19 16:48:12 +04:00
2025-06-23 19:52:13 +01:00
2025-09-22 16:37:31 +03:00
2025-09-13 10:49:14 +02:00
2025-09-20 14:38:47 -04:00
2025-06-30 09:54:13 +03:00
2025-09-23 14:22:02 -04:00