Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH 00/10] sql: cleanup in struct Index and struct Table
@ 2018-08-12 14:12 Nikita Pettik
  2018-08-12 14:12 ` [tarantool-patches] [PATCH 01/10] sql: remove suport of ALTER TABLE ADD COLUMN Nikita Pettik
                   ` (11 more replies)
  0 siblings, 12 replies; 38+ messages in thread
From: Nikita Pettik @ 2018-08-12 14:12 UTC (permalink / raw)
  To: tarantool-patches; +Cc: v.shpilevoy, Nikita Pettik

Branch: https://github.com/tarantool/tarantool/tree/np/cleanup-in-Index-and-Table
Issues:
https://github.com/tarantool/tarantool/issues/3561
https://github.com/tarantool/tarantool/issues/3565
https://github.com/tarantool/tarantool/issues/3566

Current patch-set is preliminary to finishing DD integration.
It gets rid off all functional fields from original SQLite's struct
Index and struct Table, which can be substituted with corresponding
fields from server structures or be calculated using them.

It is worth mentioning ninth patch in series which removes support of
ON CONFLICT error actions related to index uniqueness. Firstly, alongside
with it INSERT and UPDATE code generation has been slightly simplified:
removed a lot of excess register allocations; moved cursors' allocations
closer to their usages (auxiliary cursors on secondary indexes are
required only to process REPLACE or IGNORE conflict actions);
significantly reworked function which generates code to process
constraint checks. To sump up, all these changes result in fixing
assertion fault during INSERT OR REPLACE and incorrect behavior
of UPDATE OR IGNORE statements.

* To those who will review *
I deliberately separated all commits on removing fields since this way
seems to be easier to review and understand provided changes.
After review I can squash some of them, if you want so.

Nikita Pettik (10):
  sql: remove suport of ALTER TABLE ADD COLUMN
  sql: remove string of fields collation from Table
  sql: remove index hash from struct Table
  sql: remove flags from struct Table 
  sql: remove affinity string of columns from Index
  sql: completely remove support of partial indexes
  sql: remove index type from struct Index
  sql: use secondary indexes to process OP_Delete
  sql: disable ON CONFLICT actions for indexes
  sql: move autoincrement field number to server

 src/box/space_def.c                      |   3 +
 src/box/space_def.h                      |   5 +
 src/box/sql.c                            |  37 +-
 src/box/sql/alter.c                      | 185 ------
 src/box/sql/analyze.c                    |   2 +-
 src/box/sql/build.c                      | 263 +++------
 src/box/sql/delete.c                     |  20 +-
 src/box/sql/insert.c                     | 968 ++++++++-----------------------
 src/box/sql/main.c                       |  45 +-
 src/box/sql/parse.y                      |  42 +-
 src/box/sql/pragma.c                     |  10 +-
 src/box/sql/prepare.c                    |   9 +-
 src/box/sql/select.c                     |   4 +-
 src/box/sql/sqliteInt.h                  | 198 ++++---
 src/box/sql/tarantoolInt.h               |  16 +-
 src/box/sql/update.c                     | 252 ++------
 src/box/sql/vdbe.c                       |  11 +-
 src/box/sql/vdbeaux.c                    |  11 +-
 src/box/sql/vdbemem.c                    |   3 +-
 src/box/sql/where.c                      |  64 +-
 src/box/sql/wherecode.c                  |   7 +-
 test/sql-tap/conflict3.test.lua          | 402 -------------
 test/sql-tap/gh-2931-savepoints.test.lua |   2 +-
 test/sql-tap/gh2140-trans.test.lua       |  54 +-
 test/sql-tap/gh2964-abort.test.lua       |  11 +-
 test/sql-tap/index1.test.lua             | 111 +---
 test/sql-tap/null.test.lua               |   6 +-
 test/sql-tap/tkt-4a03edc4c8.test.lua     |   6 +-
 test/sql-tap/triggerC.test.lua           |   2 +-
 test/sql/on-conflict.result              | 134 +++--
 test/sql/on-conflict.test.lua            |  79 ++-
 31 files changed, 733 insertions(+), 2229 deletions(-)
 delete mode 100755 test/sql-tap/conflict3.test.lua

-- 
2.15.1

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2018-08-29 14:11 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-12 14:12 [tarantool-patches] [PATCH 00/10] sql: cleanup in struct Index and struct Table Nikita Pettik
2018-08-12 14:12 ` [tarantool-patches] [PATCH 01/10] sql: remove suport of ALTER TABLE ADD COLUMN Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-12 14:12 ` [tarantool-patches] [PATCH 02/10] sql: remove string of fields collation from Table Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-12 14:12 ` [tarantool-patches] [PATCH 03/10] sql: remove index hash from struct Table Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-12 14:13 ` [tarantool-patches] [PATCH 04/10] sql: remove flags " Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-12 14:13 ` [tarantool-patches] [PATCH 05/10] sql: remove affinity string of columns from Index Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-21 16:31     ` n.pettik
2018-08-24 21:04       ` Vladislav Shpilevoy
2018-08-26 19:45         ` n.pettik
2018-08-12 14:13 ` [tarantool-patches] [PATCH 06/10] sql: completely remove support of partial indexes Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-21 16:31     ` n.pettik
2018-08-24 21:04       ` Vladislav Shpilevoy
2018-08-26 19:44         ` n.pettik
2018-08-12 14:13 ` [tarantool-patches] [PATCH 07/10] sql: remove index type from struct Index Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-21 16:31     ` n.pettik
2018-08-12 14:13 ` [tarantool-patches] [PATCH 08/10] sql: use secondary indexes to process OP_Delete Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-12 14:13 ` [tarantool-patches] [PATCH 09/10] sql: disable ON CONFLICT actions for indexes Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-21 16:31     ` n.pettik
2018-08-24 21:04       ` Vladislav Shpilevoy
2018-08-26 19:44         ` n.pettik
2018-08-27 17:24           ` Vladislav Shpilevoy
2018-08-12 14:13 ` [tarantool-patches] [PATCH 10/10] sql: move autoincrement field number to server Nikita Pettik
2018-08-13 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-08-21 16:31     ` n.pettik
2018-08-24 21:03       ` Vladislav Shpilevoy
2018-08-26 19:44         ` n.pettik
2018-08-27 17:24           ` Vladislav Shpilevoy
2018-08-27 17:24 ` [tarantool-patches] Re: [PATCH 00/10] sql: cleanup in struct Index and struct Table Vladislav Shpilevoy
2018-08-29 14:11 ` Kirill Yukhin

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