sql: make <search condition> accept only boolean
<search condition> is a predicate used as a part of WHERE and JOIN clauses. ANSI SQL states that <search condition> must accept only boolean arguments. In our SQL it is implemented as bytecode instruction OP_If which in turn carries out logic of conditional jump. Hence this patch makes this opcode accept only boolean values. Closes #3723
Showing
- src/box/sql/expr.c 6 additions, 21 deletionssrc/box/sql/expr.c
- src/box/sql/select.c 17 additions, 14 deletionssrc/box/sql/select.c
- src/box/sql/vdbe.c 10 additions, 17 deletionssrc/box/sql/vdbe.c
- test/sql-tap/cse.test.lua 3 additions, 3 deletionstest/sql-tap/cse.test.lua
- test/sql-tap/e_delete.test.lua 4 additions, 5 deletionstest/sql-tap/e_delete.test.lua
- test/sql-tap/e_select1.test.lua 26 additions, 28 deletionstest/sql-tap/e_select1.test.lua
- test/sql-tap/func.test.lua 1 addition, 1 deletiontest/sql-tap/func.test.lua
- test/sql-tap/in1.test.lua 1 addition, 1 deletiontest/sql-tap/in1.test.lua
- test/sql-tap/in3.test.lua 1 addition, 1 deletiontest/sql-tap/in3.test.lua
- test/sql-tap/join5.test.lua 10 additions, 10 deletionstest/sql-tap/join5.test.lua
- test/sql-tap/limit.test.lua 1 addition, 1 deletiontest/sql-tap/limit.test.lua
- test/sql-tap/orderby1.test.lua 1 addition, 1 deletiontest/sql-tap/orderby1.test.lua
- test/sql-tap/resolver01.test.lua 1 addition, 1 deletiontest/sql-tap/resolver01.test.lua
- test/sql-tap/select1.test.lua 2 additions, 2 deletionstest/sql-tap/select1.test.lua
- test/sql-tap/select2.test.lua 6 additions, 6 deletionstest/sql-tap/select2.test.lua
- test/sql-tap/select6.test.lua 2 additions, 2 deletionstest/sql-tap/select6.test.lua
- test/sql-tap/select9.test.lua 3 additions, 3 deletionstest/sql-tap/select9.test.lua
- test/sql-tap/subquery.test.lua 2 additions, 2 deletionstest/sql-tap/subquery.test.lua
- test/sql-tap/tkt2832.test.lua 1 addition, 1 deletiontest/sql-tap/tkt2832.test.lua
Loading
Please register or sign in to comment