Tarantool development patches archive
 help / color / mirror / Atom feed
From: imeevma@tarantool.org
To: v.shpilevoy@tarantool.org
Cc: tarantool-patches@freelists.org, tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH v2 0/5] Replace control pragmas by SET
Date: Fri, 25 Oct 2019 18:45:39 +0300	[thread overview]
Message-ID: <cover.1572014705.git.imeevma@gmail.com> (raw)

Hi! Thank you review. My answers and new patch-set description
below.

On 10/19/19 1:08 AM, Vladislav Shpilevoy wrote:
> Hi! Thanks for the patchset!
>
> Mostly the design is ok. Consider a question below.
>
> What about having a more general settings space? For all
> session settings. Named like '_vsession_settings'. Or
> '_vsession_storage'. It will be exactly like in your
> patchset, but all SQL settings will have 'sql_' prefix.
> And then we could reuse that space for other settings,
> even from not SQL, like Kostja planned.
>
Thank you for suggestion. I did as you suggested and send a letter
to server-dev with this suggestion.

> I am just afraid, that number of system spaces grows
> without a control. With current pace we have only 16
> free IDs left for system spaces. Next are user space.
> See, now we've used 380. The last is 511. Interval is 8.
> 131 / 8 = 16. And we can't put them tighter. We
> need 8-width gaps to be able to insert new spaces
> between existing ones when a certain recovery order will
> be needed.
>
> 16 is not really many, taking into account a pile of
> information schema views going to be added.
>
I understand that this is a problem. Nevertheless, when I asked
about this at scrum, it was decided to leave the problem for the
future.

> On 17/10/2019 16:40, imeevma@tarantool.org wrote:
>> This patch0set created a new SQL command: SET. This command is
>> used to change SQL settings, including debugging settings.
>>
>> The main goal of this fix pack version is to choose a design to
>> solve the problem.
>>
>> https://github.com/tarantool/tarantool/issues/4511
>> https://github.com/tarantool/tarantool/tree/imeevma/gh-4511-pragma-replaced-by-set
>>
>

New description:

The main goal of this set of patches is to replace control pragmas
with the SET operator. Control pragmas are those that change SQL
settings. Along with this, we will allow to see SQL settings in
unified way.

https://github.com/tarantool/tarantool/issues/4511
https://github.com/tarantool/tarantool/tree/imeevma/gh-4511-pragma-replaced-by-set

Changes in v2:
1) Sysview _vsql_settings was changed to _session_settings.
2) Code refactoring.
3) Fixed comments and descriptions.
4) Fixed showed in review bugs.

Mergen Imeev (5):
  sysview: make get() and create_iterator() methods virtual
  box: introdice _vsession_settings sysview
  sql: introduce SET statement
  temporary: disable boolean.test.sql
  sql: replace control pragmas

 src/box/bootstrap.snap                             | Bin 5944 -> 5982 bytes
 src/box/lua/space.cc                               |   2 +
 src/box/lua/upgrade.lua                            |  23 +++
 src/box/schema_def.h                               |   2 +
 src/box/session.cc                                 | 116 +++++++++++
 src/box/session.h                                  |  13 ++
 src/box/sql.c                                      |   3 +-
 src/box/sql.h                                      |  34 ++++
 src/box/sql/build.c                                | 218 +++++++++++++++++++++
 src/box/sql/delete.c                               |  26 ---
 src/box/sql/insert.c                               |  35 +---
 src/box/sql/parse.y                                |   8 +-
 src/box/sql/pragma.c                               | 203 +------------------
 src/box/sql/pragma.h                               | 150 --------------
 src/box/sql/select.c                               |  16 +-
 src/box/sql/sqlInt.h                               |  16 +-
 src/box/sql/update.c                               |  26 ---
 src/box/sql/vdbe.c                                 |  26 +--
 src/box/sysview.c                                  |  48 ++++-
 test/app-tap/tarantoolctl.test.lua                 |   4 +-
 test/box-py/bootstrap.result                       |   5 +-
 test/box/access_sysview.result                     |   6 +-
 test/box/alter.result                              |   5 +-
 test/box/misc.result                               | 121 ++++++++++++
 test/box/misc.test.lua                             |  42 ++++
 test/sql-tap/analyze4.test.lua                     |   4 +-
 test/sql-tap/autoinc.test.lua                      |   2 +-
 test/sql-tap/colname.test.lua                      |  37 ++--
 test/sql-tap/fkey2.test.lua                        |   4 +-
 test/sql-tap/gh2548-select-compound-limit.test.lua |   8 +-
 test/sql-tap/lua/sqltester.lua                     |   2 +-
 test/sql-tap/misc1.test.lua                        |   2 +-
 test/sql-tap/pragma.test.lua                       | 135 +------------
 test/sql-tap/select1.test.lua                      |  35 ++--
 test/sql-tap/tkt3731.test.lua                      |   2 +-
 test/sql-tap/trigger2.test.lua                     |   2 +-
 test/sql-tap/triggerC.test.lua                     |  51 +----
 test/sql-tap/update.test.lua                       |  17 +-
 test/sql-tap/whereA.test.lua                       |  24 +--
 test/sql/check-clear-ephemeral.result              |   4 +-
 test/sql/check-clear-ephemeral.test.lua            |   4 +-
 test/sql/checks.result                             |   4 +-
 test/sql/checks.test.lua                           |   4 +-
 test/sql/clear.result                              |   4 +-
 test/sql/clear.test.lua                            |   4 +-
 test/sql/collation.result                          |   2 +-
 test/sql/collation.test.lua                        |   2 +-
 test/sql/ddl.result                                |   2 +-
 test/sql/ddl.test.lua                              |   2 +-
 test/sql/delete-multiple-idx.result                |   4 +-
 test/sql/delete-multiple-idx.test.lua              |   4 +-
 test/sql/delete.result                             |   4 +-
 test/sql/delete.test.lua                           |   4 +-
 test/sql/drop-index.result                         |   4 +-
 test/sql/drop-index.test.lua                       |   4 +-
 test/sql/drop-table.result                         |   4 +-
 test/sql/drop-table.test.lua                       |   4 +-
 test/sql/engine.result                             |   6 +-
 test/sql/engine.test.lua                           |   6 +-
 test/sql/errinj.result                             |   2 +-
 test/sql/errinj.test.lua                           |   2 +-
 test/sql/func-recreate.result                      |   2 +-
 test/sql/func-recreate.test.lua                    |   2 +-
 test/sql/gh-2362-select-access-rights.result       |   2 +-
 test/sql/gh-2362-select-access-rights.test.lua     |   2 +-
 test/sql/gh-2929-primary-key.result                |   2 +-
 test/sql/gh-2929-primary-key.test.lua              |   2 +-
 test/sql/gh-2981-check-autoinc.result              |   2 +-
 test/sql/gh-2981-check-autoinc.test.lua            |   2 +-
 test/sql/gh-3199-no-mem-leaks.result               |   2 +-
 test/sql/gh-3199-no-mem-leaks.test.lua             |   2 +-
 test/sql/gh-3613-idx-alter-update-2.result         |   2 +-
 test/sql/gh-3613-idx-alter-update-2.test.lua       |   2 +-
 test/sql/gh-3613-idx-alter-update.result           |   2 +-
 test/sql/gh-3613-idx-alter-update.test.lua         |   2 +-
 test/sql/gh-3888-values-blob-assert.result         |   2 +-
 test/sql/gh-3888-values-blob-assert.test.lua       |   2 +-
 test/sql/gh2141-delete-trigger-drop-table.result   |   2 +-
 test/sql/gh2141-delete-trigger-drop-table.test.lua |   2 +-
 test/sql/gh2251-multiple-update.result             |   2 +-
 test/sql/gh2251-multiple-update.test.lua           |   2 +-
 test/sql/gh2483-remote-persistency-check.result    |   2 +-
 test/sql/gh2483-remote-persistency-check.test.lua  |   2 +-
 .../gh2808-inline-unique-persistency-check.result  |   2 +-
 ...gh2808-inline-unique-persistency-check.test.lua |   2 +-
 test/sql/icu-upper-lower.result                    |   2 +-
 test/sql/icu-upper-lower.test.lua                  |   2 +-
 test/sql/insert-unique.result                      |   4 +-
 test/sql/insert-unique.test.lua                    |   4 +-
 test/sql/integer-overflow.result                   |   2 +-
 test/sql/integer-overflow.test.lua                 |   2 +-
 test/sql/iproto.result                             |  33 +---
 test/sql/iproto.test.lua                           |  10 +-
 test/sql/max-on-index.result                       |   4 +-
 test/sql/max-on-index.test.lua                     |   4 +-
 test/sql/message-func-indexes.result               |   2 +-
 test/sql/message-func-indexes.test.lua             |   2 +-
 test/sql/misc.result                               |   2 +-
 test/sql/misc.test.lua                             |   2 +-
 test/sql/no-pk-space.result                        |   2 +-
 test/sql/no-pk-space.test.lua                      |   2 +-
 test/sql/on-conflict.result                        |   2 +-
 test/sql/on-conflict.test.lua                      |   2 +-
 test/sql/persistency.result                        |   2 +-
 test/sql/persistency.test.lua                      |   2 +-
 test/sql/row-count.result                          |  10 +-
 test/sql/row-count.test.lua                        |   4 +-
 test/sql/savepoints.result                         |   2 +-
 test/sql/savepoints.test.lua                       |   2 +-
 test/sql/select-null.result                        |   4 +-
 test/sql/select-null.test.lua                      |   4 +-
 test/sql/sql-debug.result                          | 147 ++++++++++----
 test/sql/sql-debug.test.lua                        |  33 ++--
 test/sql/sql-statN-index-drop.result               |   2 +-
 test/sql/sql-statN-index-drop.test.lua             |   2 +-
 test/sql/suite.ini                                 |   2 +-
 test/sql/tokenizer.result                          |   2 +-
 test/sql/tokenizer.test.lua                        |   2 +-
 test/sql/transition.result                         |   2 +-
 test/sql/transition.test.lua                       |   2 +-
 test/sql/transitive-transactions.result            |   8 +-
 test/sql/transitive-transactions.test.lua          |   8 +-
 test/sql/triggers.result                           |  14 +-
 test/sql/triggers.test.lua                         |  14 +-
 test/sql/update-with-nested-select.result          |   4 +-
 test/sql/update-with-nested-select.test.lua        |   4 +-
 test/sql/upgrade.result                            |   2 +-
 test/sql/upgrade.test.lua                          |   2 +-
 test/sql/view.result                               |   2 +-
 test/sql/view.test.lua                             |   2 +-
 test/sql/view_delayed_wal.result                   |   2 +-
 test/sql/view_delayed_wal.test.lua                 |   2 +-
 test/sql/vinyl-opts.result                         |   2 +-
 test/sql/vinyl-opts.test.lua                       |   2 +-
 test/wal_off/alter.result                          |   2 +-
 135 files changed, 990 insertions(+), 988 deletions(-)

-- 
2.7.4

             reply	other threads:[~2019-10-25 15:45 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-25 15:45 imeevma [this message]
2019-10-25 15:45 ` [Tarantool-patches] [PATCH v2 1/5] sysview: make get() and create_iterator() methods virtual imeevma
2019-10-25 15:45 ` [Tarantool-patches] [PATCH v2 2/5] box: introdice _vsession_settings sysview imeevma
2019-10-26 17:35   ` Vladislav Shpilevoy
2019-10-31 11:26     ` [Tarantool-patches] [tarantool-patches] " Mergen Imeev
2019-11-02 16:17       ` Vladislav Shpilevoy
2019-10-25 15:45 ` [Tarantool-patches] [PATCH v2 3/5] sql: introduce SET statement imeevma
2019-10-25 15:45 ` [Tarantool-patches] [PATCH v2 4/5] temporary: disable boolean.test.sql imeevma
2019-10-26 17:35   ` Vladislav Shpilevoy
2019-10-27 10:45     ` Mergen Imeev
2019-10-25 15:45 ` [Tarantool-patches] [PATCH v2 5/5] sql: replace control pragmas imeevma
2019-10-26 17:34 ` [Tarantool-patches] [PATCH v2 0/5] Replace control pragmas by SET Vladislav Shpilevoy
2019-10-27 10:29   ` [Tarantool-patches] [tarantool-patches] " Mergen Imeev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1572014705.git.imeevma@gmail.com \
    --to=imeevma@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v2 0/5] Replace control pragmas by SET' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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