[tarantool-patches] [PATCH 0/3] Rework VIEW processing

Nikita Pettik korablev at tarantool.org
Tue Apr 3 17:54:27 MSK 2018


Branch: https://github.com/tarantool/tarantool/tree/np/gh-3300-parse-load-view
Issue: https://github.com/tarantool/tarantool/issues/3300

First patch of the series is about refactoring: as far as VIEWs
are always enabled, there is no need in OMIT_VIEW directive.
Alongside with this macros, several others are also removed.

Second patch adds to space format VIEW column's aliases:
'CREATE VIEW v(a, b) AS SELECT ...' -- in this case, space format will
consist from two named fields 'a' and 'b'.

Finally, last patch introduces simple lever to fetch SELECT from
'CREATE VIEW AS SELECT ...' statement and load it into internal struct.
Also, routine which is connected with views have been refactored,
in order to use this facility, instead of relying on struct Table.
Alongside with this change, fix codestyle and added doxygen style comments.

Nikita Pettik (3):
  sql: remove usless #ifdef directives
  sql: add view column aliases to space format
  sql: load SELECT from 'CREATE VIEW ...' string

 src/box/sql.c              |  22 +-
 src/box/sql/CMakeLists.txt |   1 -
 src/box/sql/alter.c        |   2 -
 src/box/sql/attach.c       |   6 -
 src/box/sql/build.c        | 231 ++++++++++--------
 src/box/sql/complete.c     | 333 --------------------------
 src/box/sql/delete.c       |  20 +-
 src/box/sql/expr.c         |   5 +-
 src/box/sql/fkey.c         |   8 -
 src/box/sql/insert.c       |  17 +-
 src/box/sql/parse.c        | 570 +++++++++++++++++++++++----------------------
 src/box/sql/parse.y        |  13 +-
 src/box/sql/pragma.c       |  10 +-
 src/box/sql/pragma.h       |   8 -
 src/box/sql/resolve.c      |   3 -
 src/box/sql/select.c       | 180 +++++++-------
 src/box/sql/sqliteInt.h    |  56 ++---
 src/box/sql/tarantoolInt.h |   2 +-
 src/box/sql/tokenize.c     |  30 ++-
 src/box/sql/treeview.c     |   2 -
 src/box/sql/trigger.c      |   3 -
 src/box/sql/update.c       |  17 +-
 src/box/sql/vdbe.c         |   5 -
 src/box/sql/vdbe.h         |   2 -
 src/box/sql/vdbeInt.h      |   4 -
 src/box/sql/vdbeaux.c      |   4 -
 test/sql-tap/view.test.lua |  26 ++-
 27 files changed, 593 insertions(+), 987 deletions(-)
 delete mode 100644 src/box/sql/complete.c

-- 
2.15.1





More information about the Tarantool-patches mailing list