[Tarantool-patches] [PATCH v4 0/5] Change implicit cast for assignment

imeevma at tarantool.org imeevma at tarantool.org
Mon Jul 13 08:32:57 MSK 2020


This patch-set changes implicit cast for assignment.

https://github.com/tarantool/tarantool/issues/3809
https://github.com/tarantool/tarantool/tree/imeevma/gh-3809-disallow-imlicit-cast-from-string-to-nums

@ChangeLog
 - [Breaking change] Define new rules for implicit cast for assignment.

v2:
 - Added a commit that changes the type mismatch error
   description.

v3:
 - Introduction of mem_set_double() was moved to another commit.
 - Implicit cast rules for assigning were changed.

v4:
 - Added type checking and implicit casting of arguments to
   built-in functions.
 - Removed unnecessary patches from the set.
 - Now this patch-set fixes implicit cast only for assignment.

Mergen Imeev (5):
  sql: set field_type in mem_set_*() functions
  sql: move diag setting to sql_func_by_signature()
  sql: check number of arguments in sql_func_by_signature()
  sql: change implicit cast for assignment
  sql: properly check arguments of functions

 src/box/sql/expr.c                          |   25 +-
 src/box/sql/func.c                          |  576 +++--
 src/box/sql/resolve.c                       |   23 +-
 src/box/sql/select.c                        |   31 +
 src/box/sql/sqlInt.h                        |   52 +-
 src/box/sql/vdbe.c                          |  166 +-
 src/box/sql/vdbeInt.h                       |    4 +
 src/box/sql/vdbemem.c                       |   10 +
 test/sql-tap/autoinc.test.lua               |    2 +-
 test/sql-tap/cse.test.lua                   |    8 +-
 test/sql-tap/default.test.lua               |    6 +-
 test/sql-tap/e_select1.test.lua             |   27 +-
 test/sql-tap/func.test.lua                  |   56 +-
 test/sql-tap/func2.test.lua                 |   18 +-
 test/sql-tap/func5.test.lua                 |    6 +-
 test/sql-tap/in3.test.lua                   |   14 +-
 test/sql-tap/in4.test.lua                   |   96 +-
 test/sql-tap/index1.test.lua                |   24 +-
 test/sql-tap/insert3.test.lua               |   10 +-
 test/sql-tap/intpkey.test.lua               |  133 +-
 test/sql-tap/limit.test.lua                 |    2 +-
 test/sql-tap/minmax2.test.lua               |    6 +-
 test/sql-tap/misc1.test.lua                 |   24 +-
 test/sql-tap/numcast.test.lua               |    6 +-
 test/sql-tap/orderby1.test.lua              |    2 +-
 test/sql-tap/position.test.lua              |    6 +-
 test/sql-tap/select1.test.lua               |   12 +-
 test/sql-tap/select4.test.lua               |   12 +-
 test/sql-tap/select7.test.lua               |    2 +-
 test/sql-tap/sort.test.lua                  |    8 +-
 test/sql-tap/subquery.test.lua              |   69 +-
 test/sql-tap/tkt-3998683a16.test.lua        |   26 +-
 test/sql-tap/tkt-54844eea3f.test.lua        |    8 +-
 test/sql-tap/tkt-7bbfb7d442.test.lua        |    4 +-
 test/sql-tap/tkt-9a8b09f8e6.test.lua        |   62 +-
 test/sql-tap/tkt-f973c7ac31.test.lua        |   18 +-
 test/sql-tap/tkt-fc7bd6358f.test.lua        |  111 -
 test/sql-tap/tkt1444.test.lua               |    4 +-
 test/sql-tap/tkt3493.test.lua               |    6 +-
 test/sql-tap/tkt3841.test.lua               |   12 +-
 test/sql-tap/transitive1.test.lua           |    4 +-
 test/sql-tap/triggerA.test.lua              |    4 +-
 test/sql-tap/unique.test.lua                |    8 +-
 test/sql-tap/view.test.lua                  |    2 +-
 test/sql-tap/where5.test.lua                |   10 +-
 test/sql-tap/whereB.test.lua                |  908 -------
 test/sql-tap/whereC.test.lua                |    8 +-
 test/sql/boolean.result                     |   32 +-
 test/sql/collation.result                   |    2 +-
 test/sql/gh-4159-function-argumens.result   | 2496 +++++++++++++++++++
 test/sql/gh-4159-function-argumens.test.sql |  465 ++++
 test/sql/types.result                       |  696 +++++-
 test/sql/types.test.lua                     |  131 +-
 53 files changed, 4636 insertions(+), 1817 deletions(-)
 delete mode 100755 test/sql-tap/tkt-fc7bd6358f.test.lua
 delete mode 100755 test/sql-tap/whereB.test.lua
 create mode 100644 test/sql/gh-4159-function-argumens.result
 create mode 100644 test/sql/gh-4159-function-argumens.test.sql

-- 
2.25.1



More information about the Tarantool-patches mailing list