Tarantool development patches archive
 help / color / mirror / Atom feed
From: Nikita Pettik <korablev@tarantool.org>
To: tarantool-patches@freelists.org
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [tarantool-patches] [PATCH v4 1/4] box: add an ability to disable CK constraints
Date: Mon, 14 Oct 2019 19:49:11 +0300	[thread overview]
Message-ID: <20191014164910.GA30792@tarantool.org> (raw)
In-Reply-To: <8232b0466f3878280a9ad35cb08f437610a36486.1570539526.git.kshcherbatov@tarantool.org>

On 08 Oct 16:02, Kirill Shcherbatov wrote:
> Now it is possible to disable and enable ck constraints in LUA.
> This option is persistent. All ck constraints are constructed
> in enabled state when Tarantool is configured. This ability
> may be useful when all information processed is (by some reason)

-> when processed data is verified and constraints validation
is not required. For instance, during casual recovery process there's
no need to provide any checks since data is assumed to be consistent.

Also explain why we have to store this option.

> trusted and ck constraints validations are not required.
> 
> Part of #4244
> ---
>  src/box/alter.cc             |  31 ++++++--
>  src/box/bootstrap.snap       | Bin 5934 -> 5944 bytes
>  src/box/ck_constraint.c      |   7 +-
>  src/box/ck_constraint.h      |   8 +-
>  src/box/lua/schema.lua       |  16 +++-
>  src/box/lua/space.cc         |   3 +
>  src/box/lua/upgrade.lua      |  13 ++++
>  src/box/schema_def.h         |   1 +
>  src/box/sql/build.c          |  11 +--
>  test/box-py/bootstrap.result |   3 +-
>  test/box/access_misc.result  | 137 ++++++++++++++++++-----------------
>  test/sql/checks.result       | 108 ++++++++++++++++++++++-----
>  test/sql/checks.test.lua     |  57 ++++++++++-----
>  test/sql/errinj.result       |  12 +--
>  test/sql/errinj.test.lua     |  12 +--
>  15 files changed, 286 insertions(+), 133 deletions(-)

To be honest, I doubt that 'is_enable' option should be persisted..
At least, we can assume that it is always 'on' by default, so that
save user from having to specify this option each time.

> diff --git a/src/box/bootstrap.snap b/src/box/bootstrap.snap
> index 4c9aea7f50f8ac86be32ca9f126fea9a3d2d182f..59f6cc16bb48841fa99b4e13590b8e0677433b35 100644
> GIT binary patch
> delta 4861
> 
> diff --git a/src/box/ck_constraint.c b/src/box/ck_constraint.c
> index 1cde27022..fafa7be12 100644
> --- a/src/box/ck_constraint.c
> +++ b/src/box/ck_constraint.c
> @@ -223,6 +225,7 @@ ck_constraint_new(struct ck_constraint_def *ck_constraint_def,
>  	}
>  	ck_constraint->def = NULL;
>  	ck_constraint->stmt = NULL;
> +

Extra diff.

       reply	other threads:[~2019-10-14 16:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1570539526.git.kshcherbatov@tarantool.org>
     [not found] ` <8232b0466f3878280a9ad35cb08f437610a36486.1570539526.git.kshcherbatov@tarantool.org>
2019-10-14 16:49   ` Nikita Pettik [this message]
2019-10-15 11:13     ` [Tarantool-patches] [tarantool-patches] " Kirill Shcherbatov
2019-10-15 21:47       ` Nikita Pettik
2019-10-16  5:52         ` Konstantin Osipov
2019-10-16 11:19           ` Nikita Pettik
2019-10-16 13:50             ` Kirill Shcherbatov
2019-10-16 18:09               ` Nikita Pettik
     [not found] ` <d4002407f749fff0c1f0facb1ed4cf66b8b7edd6.1570539526.git.kshcherbatov@tarantool.org>
2019-10-14 16:56   ` [Tarantool-patches] [tarantool-patches] [PATCH v4 2/4] sql: " Nikita Pettik
2019-10-15 11:13     ` [Tarantool-patches] [tarantool-patches] " Kirill Shcherbatov
2019-10-16 18:10       ` Nikita Pettik
     [not found] ` <f462f55eebcb13abb8a0611a4d84d7ed8b1a6b6a.1570539526.git.kshcherbatov@tarantool.org>
     [not found]   ` <af095dba-bacd-e35f-9143-30ae59188697@tarantool.org>
2019-10-15 15:15     ` [Tarantool-patches] [tarantool-patches] [PATCH v4 4/4] sql: use name instead of function pointer for UDF Nikita Pettik
2019-10-16 13:51       ` [Tarantool-patches] [tarantool-patches] " Kirill Shcherbatov
2019-10-16 18:08         ` Nikita Pettik
     [not found] ` <4eb8f545449842bc4c468ccf50c494e4c44c32d6.1570539526.git.kshcherbatov@tarantool.org>
     [not found]   ` <20191013125109.GA24391@atlas>
     [not found]     ` <7114925b-190a-4f0d-409f-974d2e6a65dd@tarantool.org>
2019-10-17 13:58       ` [Tarantool-patches] [tarantool-patches] Re: [PATCH v4 3/4] box: do not evaluate ck constraints on recovery Nikita Pettik
2019-10-17 14:12         ` Konstantin Osipov
2019-10-17 14:39           ` Nikita Pettik
2019-10-17 15:18             ` Konstantin Osipov
2019-10-17 16:28               ` Nikita Pettik

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=20191014164910.GA30792@tarantool.org \
    --to=korablev@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [Tarantool-patches] [tarantool-patches] [PATCH v4 1/4] box: add an ability to disable CK constraints' \
    /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