[tarantool-patches] [PATCH v3 0/4] sql: do not show IDs generated by trigger

imeevma at tarantool.org imeevma at tarantool.org
Thu Jul 11 11:22:26 MSK 2019


Currently, if an INSERT was executed by a trigger during the
execution of a statement, if there were any generated identifiers,
they can be displayed as a result of the statement. This is
incorrect, since we are not able to divide the IDs obtained into
those that belong to the table mentioned in the statement and
those that do not belong to this table.

https://github.com/tarantool/tarantool/issues/4188
https://github.com/tarantool/tarantool/tree/imeevma/gh-4188-remove-additonal-generated-ids

Changes in v2:
1) Patch was divided into 3 new patches.

Changes in v3:
1) Removed tests in refactoring patch "sql: remove unnecessary
AUTOINCREMENT ID generation". They shows nothing.
2) Changed the way to check that INSERT executed by trigger.
3) Fixed a bug with the display of generated AUTOINCREMENT
identifiers, even if INSERT failed in the case of INSERT OR
IGNORE.

Mergen Imeev (4):
  sql: remove unnecessary AUTOINCREMENT ID generation
  sql: do not show IDs generated by trigger
  sql: remove VDBE from TXN
  sql: do not show generated IDs if INSERT failed

 src/box/sequence.c          |  19 +++++---
 src/box/sequence.h          |  13 +++--
 src/box/sql/insert.c        |  27 ++++++++---
 src/box/sql/sqlInt.h        |  10 +++-
 src/box/sql/update.c        |   2 +-
 src/box/sql/vdbe.c          |  46 +++++++++++-------
 src/box/sql/vdbe.h          |   3 +-
 src/box/sql/vdbeInt.h       |   2 +-
 src/box/sql/vdbeaux.c       |  10 ++--
 src/box/txn.h               |  17 -------
 test/sql/iproto.result      |   2 -
 test/sql/row-count.result   |  26 ++++++++++
 test/sql/row-count.test.lua |   7 +++
 test/sql/triggers.result    | 114 ++++++++++++++++++++++++++++++++++++++++++++
 test/sql/triggers.test.lua  |  24 ++++++++++
 15 files changed, 259 insertions(+), 63 deletions(-)

-- 
2.7.4





More information about the Tarantool-patches mailing list