[tarantool-patches] [PATCH v1 0/2] sql: default engine pragma

Kirill Shcherbatov kshcherbatov at tarantool.org
Wed Jun 20 20:06:25 MSK 2018


Introduced a new SQL pragma that allows to set default storage engine.
Both 'memtx' and 'vinyl' are supported. Config enum value is stored in user_session
represented as uint8_t. Initial 0 value match default MEMTEX storage engine.
Adopted basic sql test to launch with multiple engines. 
Worth to take into account that vinyl transactions don't rollback automatically 
on failures. This required to modify some tests.

Branch: http://github.com/tarantool/tarantool/tree/kshch/gh-2199-engine-sql-specifier
Issue: https://github.com/tarantool/tarantool/issues/2199

Kirill Shcherbatov (2):
  sql: introduce pragma sql_default_engine
  sql: enable multi-engine tests for SQL

 src/box/session.cc                                 |  1 +
 src/box/session.h                                  |  2 +
 src/box/sql/build.c                                | 43 +++++++++++++++++++++-
 src/box/sql/pragma.c                               |  8 ++++
 src/box/sql/pragma.h                               |  6 +++
 src/box/sql/sqliteInt.h                            | 14 +++++++
 test/sql-tap/gh-2367-pragma.test.lua               | 14 ++++++-
 test/sql/check-clear-ephemeral.result              |  6 +++
 test/sql/check-clear-ephemeral.test.lua            |  3 +-
 test/sql/checks.result                             |  6 +++
 test/sql/checks.test.lua                           |  2 +
 test/sql/clear.result                              |  6 +++
 test/sql/clear.test.lua                            |  2 +
 test/sql/collation.result                          |  9 +++++
 test/sql/collation.test.lua                        |  3 ++
 test/sql/delete-multiple-idx.result                |  6 +++
 test/sql/delete-multiple-idx.test.lua              |  2 +
 test/sql/delete.result                             |  6 +++
 test/sql/delete.test.lua                           |  2 +
 test/sql/drop-index.result                         |  6 +++
 test/sql/drop-index.test.lua                       |  2 +
 test/sql/drop-table.result                         |  6 +++
 test/sql/drop-table.test.lua                       |  2 +
 test/sql/engine.cfg                                |  6 +++
 test/sql/engine.result                             | 42 +++++++++++++++++++++
 test/sql/engine.test.lua                           | 17 +++++++++
 test/sql/errinj.result                             |  9 +++++
 test/sql/errinj.test.lua                           |  3 ++
 test/sql/gh-2929-primary-key.result                |  9 +++++
 test/sql/gh-2929-primary-key.test.lua              |  4 ++
 test/sql/gh-2981-check-autoinc.result              |  9 +++++
 test/sql/gh-2981-check-autoinc.test.lua            |  4 ++
 test/sql/gh-3199-no-mem-leaks.result               |  6 +++
 test/sql/gh-3199-no-mem-leaks.test.lua             |  2 +
 test/sql/gh2141-delete-trigger-drop-table.result   |  6 +++
 test/sql/gh2141-delete-trigger-drop-table.test.lua |  2 +
 test/sql/gh2251-multiple-update.result             |  6 +++
 test/sql/gh2251-multiple-update.test.lua           |  2 +
 test/sql/gh2483-remote-persistency-check.result    |  6 +++
 test/sql/gh2483-remote-persistency-check.test.lua  |  2 +
 .../gh2808-inline-unique-persistency-check.result  |  6 +++
 ...gh2808-inline-unique-persistency-check.test.lua |  2 +
 test/sql/icu-upper-lower.result                    |  6 +++
 test/sql/icu-upper-lower.test.lua                  |  2 +
 test/sql/insert-unique.result                      |  6 +++
 test/sql/insert-unique.test.lua                    |  2 +
 test/sql/iproto.result                             | 12 +++++-
 test/sql/iproto.test.lua                           |  6 ++-
 test/sql/max-on-index.result                       |  6 +++
 test/sql/max-on-index.test.lua                     |  2 +
 test/sql/message-func-indexes.result               |  6 +++
 test/sql/message-func-indexes.test.lua             |  2 +
 test/sql/misc.result                               |  9 +++++
 test/sql/misc.test.lua                             |  4 ++
 test/sql/on-conflict.result                        |  6 +++
 test/sql/on-conflict.test.lua                      |  2 +
 test/sql/persistency.result                        |  6 +++
 test/sql/persistency.test.lua                      |  2 +
 test/sql/savepoints.result                         |  6 +++
 test/sql/savepoints.test.lua                       |  2 +
 test/sql/select-null.result                        |  6 +++
 test/sql/select-null.test.lua                      |  2 +
 test/sql/sql-statN-index-drop.result               |  6 +++
 test/sql/sql-statN-index-drop.test.lua             |  2 +
 test/sql/suite.ini                                 |  1 +
 test/sql/tokenizer.result                          |  6 +++
 test/sql/tokenizer.test.lua                        |  2 +
 test/sql/transition.result                         |  9 +++++
 test/sql/transition.test.lua                       |  4 ++
 test/sql/transitive-transactions.result            | 10 +++++
 test/sql/transitive-transactions.test.lua          |  6 +++
 test/sql/triggers.result                           |  6 +++
 test/sql/triggers.test.lua                         |  2 +
 test/sql/update-with-nested-select.result          |  6 +++
 test/sql/update-with-nested-select.test.lua        |  2 +
 test/sql/upgrade.result                            |  6 +++
 test/sql/upgrade.test.lua                          |  2 +
 test/sql/view.result                               |  6 +++
 test/sql/view.test.lua                             |  2 +
 test/sql/view_delayed_wal.result                   |  6 +++
 test/sql/view_delayed_wal.test.lua                 |  2 +
 81 files changed, 476 insertions(+), 5 deletions(-)
 create mode 100644 test/sql/engine.cfg
 create mode 100644 test/sql/engine.result
 create mode 100644 test/sql/engine.test.lua

-- 
2.7.4





More information about the Tarantool-patches mailing list