Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v1 0/4] sql: Checks on server side
@ 2019-01-10 13:54 Kirill Shcherbatov
  2019-01-10 13:54 ` [tarantool-patches] [PATCH v1 1/4] box: rename space->opts checks to checks_ast Kirill Shcherbatov
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Kirill Shcherbatov @ 2019-01-10 13:54 UTC (permalink / raw)
  To: tarantool-patches, korablev; +Cc: Kirill Shcherbatov

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-01-21 14:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-10 13:54 [tarantool-patches] [PATCH v1 0/4] sql: Checks on server side Kirill Shcherbatov
2019-01-10 13:54 ` [tarantool-patches] [PATCH v1 1/4] box: rename space->opts checks to checks_ast Kirill Shcherbatov
2019-01-11 14:05   ` [tarantool-patches] " Konstantin Osipov
2019-01-18 18:00   ` Konstantin Osipov
2019-01-10 13:54 ` [tarantool-patches] [PATCH v1 2/4] sql: disallow use of TYPEOF in Check Kirill Shcherbatov
2019-01-11 14:06   ` [tarantool-patches] " Konstantin Osipov
2019-01-11 14:07   ` Konstantin Osipov
2019-01-18 18:04   ` Konstantin Osipov
2019-01-10 13:54 ` [tarantool-patches] [PATCH v1 3/4] box: exported sql_bind structure and API Kirill Shcherbatov
2019-01-10 13:54 ` [tarantool-patches] [PATCH v1 4/4] sql: make sql checks on server side Kirill Shcherbatov
2019-01-11 14:12   ` [tarantool-patches] " Konstantin Osipov
2019-01-11 14:14   ` Konstantin Osipov
2019-01-18 18:11   ` Konstantin Osipov
2019-01-21 14:47   ` n.pettik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox