[tarantool-patches] [PATCH v1 0/4] sql: Checks on server side

  • From: Kirill Shcherbatov <kshcherbatov@xxxxxxxxxxxxx>
  • To: tarantool-patches@xxxxxxxxxxxxx, korablev@xxxxxxxxxxxxx
  • Date: Thu, 10 Jan 2019 16:54:46 +0300

Implemented SQL Checks validations on server side.
Introduced a new sql_check class containing precompiled reusable VDBE making
required validations. It has been parameterized with binding parameters to map
a tuple to be inserted in VDBE memory and to manage checks to be performed on
UPDATE operation.

http://github.com/tarantool/tarantool/tree/kshch/gh-3691-checks-on-server-side
https://github.com/tarantool/tarantool/issues/3691

Kirill Shcherbatov (4):
  box: rename space->opts checks to checks_ast
  sql: disallow use of TYPEOF in Check
  box: exported sql_bind structure and API
  sql: make sql checks on server side

 src/box/alter.cc                      |   4 +-
 src/box/execute.c                     |  48 +------
 src/box/execute.h                     |  52 ++++++++
 src/box/space.c                       |  49 +++++++
 src/box/space.h                       |   5 +
 src/box/space_def.c                   |  15 ++-
 src/box/space_def.h                   |   4 +-
 src/box/sql.c                         | 179 +++++++++++++++++++++++++-
 src/box/sql.h                         |  66 ++++++++++
 src/box/sql/build.c                   |  42 ++++--
 src/box/sql/insert.c                  | 107 ++++-----------
 src/box/sql/sqliteInt.h               |  32 +++++
 src/box/sql/vdbe.c                    |   2 +-
 src/box/sql/vdbeapi.c                 |  41 ++----
 test/sql-tap/check.test.lua           | 113 +++-------------
 test/sql-tap/fkey2.test.lua           |   4 +-
 test/sql-tap/subquery.test.lua        |   2 +-
 test/sql-tap/table.test.lua           |   8 +-
 test/sql/checks.result                |  51 ++++++++
 test/sql/checks.test.lua              |  18 +++
 test/sql/gh-2981-check-autoinc.result |   8 +-
 21 files changed, 563 insertions(+), 287 deletions(-)

-- 
2.19.2


Other related posts:

  • » [tarantool-patches] [PATCH v1 0/4] sql: Checks on server side - Kirill Shcherbatov