Tarantool development patches archive
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Check read access while executing SQL query
@ 2018-10-25  8:17 Kirill Yukhin
  2018-10-25  8:17 ` [PATCH v2 1/4] schema: refactor space_cache API Kirill Yukhin
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Kirill Yukhin @ 2018-10-25  8:17 UTC (permalink / raw)
  To: vdavydov.dev; +Cc: tarantool-patches, Kirill Yukhin

Since SQL front-end is not using box API,
no checkes for read access are performed by VDBE engine.
Fix this by introducing dedicated opcode which is executed
to perform read access check.
Note, that there's is no need to perform DML/DDL checkes as
they're performed by Tarantool's core.

Closes #2362
---
https://github.com/tarantool/tarantool/commits/kyukhin/gh-2362-sql-read-access-check
https://github.com/tarantool/tarantool/issues/2362
https://travis-ci.org/tarantool/tarantool/builds/445664874

Changes against v1:
  - Split addition of space_name->space_ptr mapping into 3 patches:
    a. Refactor cache replace/delete machinery.
    b. Introduce space_by_name() API.
    c. Use new API throughout SQL front-end.
  - Change argument order for space_cache_replace().
  - Move assert() into space_cache_replace(), make it return void.

Kirill Yukhin (4):
  schema: refactor space_cache API
  schema: add space names cache
  sql: use space_by_name in SQL
  sql: check read access while executing SQL query

 src/box/alter.cc                               |  26 +++---
 src/box/schema.cc                              | 108 ++++++++++++++++++------
 src/box/schema.h                               |  17 ++--
 src/box/sql/alter.c                            |  11 ++-
 src/box/sql/analyze.c                          |  44 ++++------
 src/box/sql/build.c                            |  57 +++++--------
 src/box/sql/delete.c                           |  26 +++---
 src/box/sql/insert.c                           |   7 +-
 src/box/sql/pragma.c                           |  32 +++----
 src/box/sql/vdbe.c                             |   5 ++
 test/box/stat.result                           |   6 +-
 test/sql/gh-2362-select-access-rights.result   | 110 +++++++++++++++++++++++++
 test/sql/gh-2362-select-access-rights.test.lua |  42 ++++++++++
 13 files changed, 326 insertions(+), 165 deletions(-)
 create mode 100644 test/sql/gh-2362-select-access-rights.result
 create mode 100644 test/sql/gh-2362-select-access-rights.test.lua

-- 
2.11.0

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

end of thread, other threads:[~2018-11-01 11:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-25  8:17 [PATCH v2 0/4] Check read access while executing SQL query Kirill Yukhin
2018-10-25  8:17 ` [PATCH v2 1/4] schema: refactor space_cache API Kirill Yukhin
2018-10-25 14:48   ` Vladimir Davydov
2018-10-25 15:31     ` Kirill Yukhin
2018-10-25 16:09       ` Vladimir Davydov
2018-10-25  8:17 ` [PATCH v2 2/4] schema: add space names cache Kirill Yukhin
2018-10-26 20:55   ` Vladimir Davydov
2018-11-01 11:34     ` [tarantool-patches] " Konstantin Osipov
2018-10-25  8:17 ` [PATCH v2 3/4] sql: use space_by_name in SQL Kirill Yukhin
2018-10-26 21:00   ` Vladimir Davydov
2018-10-25  8:17 ` [PATCH v2 4/4] sql: check read access while executing SQL query Kirill Yukhin
2018-10-26 21:04   ` Vladimir Davydov

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