Tarantool development patches archive
 help / color / mirror / Atom feed
From: imeevma@tarantool.org
To: korablev@tarantool.org, tsafin@tarantool.org,
	tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH v3 0/3] sql: fix order of inserted rows
Date: Wed, 15 Apr 2020 10:09:38 +0300	[thread overview]
Message-ID: <cover.1586933931.git.imeevma@gmail.com> (raw)

This patch-set fixes order of inserted rows in case ephemeral
space is used during INSERT into space with sequence. The order
now is the same in which these values were inserted originally.
Wrong order could lead to an error in case NULL was inserted into
field with sequence.

https://github.com/tarantool/tarantool/issues/4256
https://github.com/tarantool/tarantool/tree/imeevma/gh-4256-fix-order-during-insertion

#ChangeLog
 - The inserted values will now be inserted in the order in
   which they were given in case of INSERT into space with
   sesquence (gh-4256).

Changes:
v1:
 - Patch fixed the problem but the logic was too complex.
v2:
 - After exanding of ephemeral space formats, solution become
   simpler.
v3:
 - Expansion of ephemeral space format was divided into two
   patches.

Mergen Imeev (3):
  box: extend ephemeral space format
  sql: specify field types in ephemeral space format
  sql: do not change order of inserted values

 src/box/space_def.c                                | 12 ++--
 src/box/space_def.h                                |  5 +-
 src/box/sql.c                                      | 73 +++++++++++++++++-----
 src/box/sql/insert.c                               | 27 +++++++-
 src/box/sql/select.c                               |  2 +
 src/box/sql/sqlInt.h                               |  2 +
 src/box/sql/vdbe.c                                 | 19 +-----
 src/box/tuple_format.c                             | 22 +++----
 ...256-do-not-change-order-during-insertion.result | 44 +++++++++++++
 ...6-do-not-change-order-during-insertion.test.sql | 13 ++++
 10 files changed, 167 insertions(+), 52 deletions(-)
 create mode 100644 test/sql/gh-4256-do-not-change-order-during-insertion.result
 create mode 100644 test/sql/gh-4256-do-not-change-order-during-insertion.test.sql

-- 
2.7.4

             reply	other threads:[~2020-04-15  7:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-15  7:09 imeevma [this message]
2020-04-15  7:09 ` [Tarantool-patches] [PATCH v3 1/3] box: extend ephemeral space format imeevma
2020-04-15  7:09 ` [Tarantool-patches] [PATCH v3 2/3] sql: specify field types in " imeevma
2020-04-15  7:09 ` [Tarantool-patches] [PATCH v3 3/3] sql: do not change order of inserted values imeevma
2020-04-16  0:09   ` Nikita Pettik
2020-04-16  8:33     ` Mergen Imeev
2020-04-16 13:29 ` [Tarantool-patches] [PATCH v3 0/3] sql: fix order of inserted rows 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=cover.1586933931.git.imeevma@gmail.com \
    --to=imeevma@tarantool.org \
    --cc=korablev@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=tsafin@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v3 0/3] sql: fix order of inserted rows' \
    /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