From: Kirill Yukhin <kyukhin@tarantool.org> To: v.shpilevoy@tarantool.org Cc: tarantool-patches@freelists.org, Kirill Yukhin <kyukhin@tarantool.org> Subject: [tarantool-patches] [PATCH 0/3] sql: move column's default value to Tarantool's core Date: Thu, 29 Mar 2018 09:42:05 +0300 [thread overview] Message-ID: <cover.1522303843.git.kyukhin@tarantool.org> (raw) This patches-set consists of 3 almost independent patches: 1. It adds a nullable field to space _schema, which will make it easier to use from within SQL engine. 2. [tiny] Remove couple of dead functions from SQL engine. 3. [main] Moves DEFAULT values, both string and compiled AST to Tarantool's core. New routine which will allow to compile SQL-context free expressions was introduced. Compiled AST is stored inside space_def and allocated using single top-most malloc(). NB1: It should be mentioned, that duplication routines for expressions are not elegant enough to do single malloc(), it allocates nodes on demand and this may and will be refactored. Issue to be submitted. NB2: Handle `struct sqlite3 *` use used only for regacy memory allocation. And should be removed from all API parameters, after we'll choose right allocator and emply it. Another issue to be submitted. Branch: https://github.com/tarantool/tarantool/tree/kyukhin/gh-3235-move-default Issue: https://github.com/tarantool/tarantool/issues/3235 Kirill Yukhin (3): Add value field to _schema space sql: remove dead find DB functions. sql: move default col values to Tarantool's core src/CMakeLists.txt | 2 +- src/box/alter.cc | 17 + src/box/bootstrap.snap | Bin 1638 -> 1657 bytes src/box/box.cc | 3 +- src/box/field_def.c | 5 +- src/box/field_def.h | 4 + src/box/lua/upgrade.lua | 14 +- src/box/space_def.c | 105 ++++-- src/box/space_def.h | 10 +- src/box/sql.c | 64 +++- src/box/sql.h | 30 ++ src/box/sql/build.c | 48 +-- src/box/sql/delete.c | 12 +- src/box/sql/expr.c | 114 +++--- src/box/sql/fkey.c | 13 +- src/box/sql/insert.c | 32 +- src/box/sql/main.c | 15 - src/box/sql/parse.c | 876 ++++++++++++++++++++++--------------------- src/box/sql/parse.y | 32 +- src/box/sql/resolve.c | 12 +- src/box/sql/select.c | 28 +- src/box/sql/sqliteInt.h | 11 +- src/box/sql/tokenize.c | 121 ++++++ src/box/sql/trigger.c | 12 +- src/box/sql/update.c | 2 +- src/box/sql/wherecode.c | 2 +- src/box/sql/whereexpr.c | 6 +- test/box-py/bootstrap.result | 3 +- test/box/access_misc.result | 3 +- test/xlog/upgrade.result | 3 +- 30 files changed, 948 insertions(+), 651 deletions(-) -- 2.11.0
next reply other threads:[~2018-03-29 6:42 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-03-29 6:42 Kirill Yukhin [this message] 2018-03-29 6:42 ` [tarantool-patches] [PATCH 1/3] Add value field to _schema space Kirill Yukhin 2018-03-29 6:42 ` [tarantool-patches] [PATCH 2/3] sql: remove dead find DB functions Kirill Yukhin 2018-03-29 6:42 ` [tarantool-patches] [PATCH 3/3] sql: move default col values to Tarantool's core Kirill Yukhin 2018-03-29 14:00 ` [tarantool-patches] " v.shpilevoy 2018-03-31 3:55 ` Kirill Yukhin 2018-03-31 4:24 ` [tarantool-patches] [PATCH] " Kirill Yukhin 2018-04-03 6:29 ` [tarantool-patches] Re: [PATCH 3/3] " Kirill Yukhin
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.1522303843.git.kyukhin@tarantool.org \ --to=kyukhin@tarantool.org \ --cc=tarantool-patches@freelists.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [tarantool-patches] [PATCH 0/3] sql: move column'\''s default value to Tarantool'\''s core' \ /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