[Tarantool-patches] [PATCH] sql: fix off-by-one error in QP
korablev at tarantool.org
Thu Oct 24 11:13:47 MSK 2019
On 23 Oct 23:12, Vladislav Shpilevoy wrote:
> Hi! Thanks for the patch! LGTM.
Pushed to master.
> On 21/10/2019 18:45, Nikita Pettik wrote:
> > In scope of 8fac697 it was fixed misbehavior while passing floating
> > point values to integer iterator. Unfortunately, that patch introduced
> > off-by-one error. Number of constraints (equalities and inequalities)
> > can not be greater than number of key parts (obviously, each constraint
> > can be tested against at most one index part). Inequality constraint can
> > involve only field representing last key part. To get it number of
> > constraints was used as index. However, since array is 0-based, the last
> > key part should be calculated as parts[eq_numb - 1]. Before this patch
> > it was parts[eq_numb].
> > Closes #4558
> > ---
> > Branch: https://github.com/tarantool/tarantool/commits/np/gh-4558-off-by-one-qp-fix
> > Issue: https://github.com/tarantool/tarantool/issues/4558
> > src/box/sql/wherecode.c | 18 ++++++++++++++----
> > 1 file changed, 14 insertions(+), 4 deletions(-)
More information about the Tarantool-patches