[Tarantool-patches] [PATCH v3 0/2] sql: fix CAST() from BLOB to INTEGER

Nikita Pettik korablev at tarantool.org
Wed Mar 25 20:46:04 MSK 2020


On 25 Mar 14:38, imeevma at tarantool.org wrote:
> This patch-set fixes CAST() from BLOB to INTEGER in case a BLOB
> does not have '\0'.
> 
> https://github.com/tarantool/tarantool/issues/4766
> https://github.com/tarantool/tarantool/tree/imeevma/gh-4766-fix-blob-size-for-cast
> 
> 
> Changelog:
>  - CAST() from string contains DOUBLE value to INTEGER or UNSIGNED
>    was disallowed.
>  - Maximum length of a BLOB that is allowed to be cast to INTEGER
>    or UNSIGNED was limited to 12287 bytes.
>  - Fixed wrong behaviour of CAST() in case a BLOB does not have
>    '\0'.

@Changelog entry to release notes is missing.
 
> Mergen Imeev (2):
>   sql: fix CAST() from STRING to INTEGER
>   sql: add '\0' to the BLOB when it is cast to INTEGER
> 
>  src/box/sql/util.c                   | 17 +++++++++----
>  src/box/sql/vdbe.c                   | 11 +++++++--
>  src/box/sql/vdbeInt.h                |  1 -
>  src/box/sql/vdbemem.c                | 45 +++++++++++----------------------
>  test/sql-tap/cast.test.lua           | 48 +++++++++++++++++++++++++++++++++++-
>  test/sql-tap/e_select1.test.lua      |  2 +-
>  test/sql-tap/intpkey.test.lua        |  2 +-
>  test/sql-tap/join.test.lua           |  4 +--
>  test/sql-tap/subquery.test.lua       |  6 ++---
>  test/sql-tap/tkt-9a8b09f8e6.test.lua |  4 +--
>  test/sql/types.result                | 23 +++++++----------
>  11 files changed, 100 insertions(+), 63 deletions(-)
> 
> -- 
> 2.7.4
> 


More information about the Tarantool-patches mailing list