[Tarantool-patches] [PATCH] sql: fix off-by-one error in QP

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Thu Oct 24 00:12:27 MSK 2019


Hi! Thanks for the patch! LGTM.

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 mailing list