[tarantool-patches] [PATCH v2 0/4] Check read access while executing SQL query

  • From: Kirill Yukhin <kyukhin@xxxxxxxxxxxxx>
  • To: vdavydov.dev@xxxxxxxxx
  • Date: Thu, 25 Oct 2018 11:17:08 +0300

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


Other related posts:

  • » [tarantool-patches] [PATCH v2 0/4] Check read access while executing SQL query - Kirill Yukhin