sql: allow only string-like arguments for concatenation
Original SQLite operator of concatenation accepts all types of arguments. If type of parameter is not TEXT, it is implicitly converted to TEXT (except for NULLs). That contradicts ANSI (it is regulated by [1]), so lets allow only TEXT and BLOB as argument type for concatenation. Moreover, they both must be of the same type at the same time (i.e. both TEXT or BLOB). [1] SQL ANSI 2013, 9.5 Result of data type combination Part of #3544
Showing
- src/box/errcode.h 1 addition, 0 deletionssrc/box/errcode.h
- src/box/sql/vdbe.c 52 additions, 2 deletionssrc/box/sql/vdbe.c
- test/box/misc.result 1 addition, 0 deletionstest/box/misc.result
- test/sql-tap/autoinc.test.lua 6 additions, 6 deletionstest/sql-tap/autoinc.test.lua
- test/sql-tap/e_select1.test.lua 2 additions, 2 deletionstest/sql-tap/e_select1.test.lua
- test/sql-tap/func.test.lua 2 additions, 2 deletionstest/sql-tap/func.test.lua
- test/sql-tap/sort.test.lua 3 additions, 3 deletionstest/sql-tap/sort.test.lua
- test/sql-tap/tkt2192.test.lua 2 additions, 2 deletionstest/sql-tap/tkt2192.test.lua
- test/sql-tap/trigger5.test.lua 2 additions, 2 deletionstest/sql-tap/trigger5.test.lua
- test/sql/types.result 32 additions, 0 deletionstest/sql/types.result
- test/sql/types.test.lua 12 additions, 0 deletionstest/sql/types.test.lua
Loading
Please register or sign in to comment