From: imeevma@tarantool.org To: v.shpilevoy@tarantool.org, tarantool-patches@freelists.org, vdavydov.dev@gmail.com, kostja@tarantool.org Subject: [PATCH v4 0/5] Remove box.sql.execute() Date: Fri, 30 Nov 2018 22:00:56 +0300 [thread overview] Message-ID: <cover.1543604148.git.imeevma@gmail.com> (raw) The goal of this patch-set is to make functions from execute.c the only way to execute SQL statements. This goal includes similar output for executed SQL statements no matter how they were executed: through net.box or through box. This is the fourth version of patch-set. It is not complete. It still has no last part, which is replacing box.sql.execute by box.execute, because it will lead to massive test editing. The main goal of this version of patch-set is to look at design of new box.sql.execute(). The main purpose of this version of the patch-set is to look at the new design of the box.sql.execute(). For now this patch-set blocked by #3832. Small temporary fix added to temporary patch of patch-set. https://github.com/tarantool/tarantool/issues/3505 https://github.com/tarantool/tarantool/tree/imeevma/gh-3505-replace-box_sql_execute-by-box_execute General information of difference from previous version of patch-set: - Some patches were removed from patch-set because they were pushed to 2.1. - New patch was added. It moves port to src/ from src/box A bit about patches of patch-set with comments about changes in this version: Patch 1 moves port to src/ from src/box. It allows us to use port in mpstream.c/mpstream.h. Patch 2 allows us to design vstream by wrapping mpstream functions. At the moment, this is the most dubious patch due to the implicit use of mpstream as a stream for obuf. Patch 3 creates interface vstream and its mpstream implementation. Difference from previous version: - Function mpsvtream_init() was created and function mp_vstream_init_vtab() was removed. Patch 4 creates vstream implementation for Lua and defines new box.sql.new_execute() function that will become box.execute() in next vesions. Difference from previous version: - luastream.c moved to src/lua from src/box/lua. - luastream.h created. Some functionality were moved here from luastream.c. - Function luasvtream_init() was created and function lua_vstream_init_vtab() was removed. - Some refactoring has been done. Patch 5 is temporary patch. It created to check that box.sql.new_execute() is able to pass through tests created for box.sql.execute(). Now it contains small fix that allows us to pass to sql_response_dump() result with rows without types. v1: https://www.freelists.org/post/tarantool-patches/PATCH-v1-0010-sql-remove-boxsqlexecute v2: https://www.freelists.org/post/tarantool-patches/PATCH-v2-07-Remove-boxsqlexecute v3: https://www.freelists.org/post/tarantool-patches/PATCH-v3-07-Remove-boxsqlexecute Mergen Imeev (4): iproto: replace obuf by mpstream in execute.c sql: create interface vstream lua: create vstream implementation for Lua sql: check new box.sql.execute() Vladislav Shpilevoy (1): box: move port to src/ src/CMakeLists.txt | 2 + src/box/execute.c | 320 +++++++++++++++++++++++++++++++++++++------------ src/box/execute.h | 39 +++++- src/box/iproto.cc | 23 +++- src/box/lua/schema.lua | 23 ++++ src/box/lua/sql.c | 109 ++++------------- src/box/lua/sql.h | 4 + src/box/port.c | 30 ----- src/box/port.h | 103 +--------------- src/lua/luastream.c | 148 +++++++++++++++++++++++ src/lua/luastream.h | 47 ++++++++ src/mpstream.c | 57 +++++++++ src/mpstream.h | 7 ++ src/port.c | 37 ++++++ src/port.h | 127 ++++++++++++++++++++ src/vstream.h | 176 +++++++++++++++++++++++++++ 16 files changed, 949 insertions(+), 303 deletions(-) create mode 100644 src/lua/luastream.c create mode 100644 src/lua/luastream.h create mode 100644 src/port.c create mode 100644 src/port.h create mode 100644 src/vstream.h -- 2.7.4
next reply other threads:[~2018-11-30 19:00 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-11-30 19:00 imeevma [this message] 2018-11-30 19:01 ` [PATCH v4 1/5] box: move port to src/ imeevma 2018-12-03 9:22 ` Vladimir Davydov 2018-11-30 19:01 ` [tarantool-patches] [PATCH v4 2/5] iproto: replace obuf by mpstream in execute.c imeevma 2018-11-30 19:01 ` [tarantool-patches] [PATCH v4 3/5] sql: create interface vstream imeevma 2018-11-30 19:01 ` [tarantool-patches] [PATCH v4 4/5] lua: create vstream implementation for Lua imeevma 2018-11-30 19:01 ` [tarantool-patches] [PATCH v4 5/5] sql: check new box.sql.execute() imeevma 2018-12-02 11:03 ` [PATCH v4 2/5] iproto: replace obuf by mpstream in execute.c imeevma 2018-12-03 15:21 ` Vladimir Davydov 2018-12-03 20:48 ` [tarantool-patches] " Vladislav Shpilevoy 2018-12-04 8:26 ` Vladimir Davydov 2018-12-04 11:28 ` Vladislav Shpilevoy
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.1543604148.git.imeevma@gmail.com \ --to=imeevma@tarantool.org \ --cc=kostja@tarantool.org \ --cc=tarantool-patches@freelists.org \ --cc=v.shpilevoy@tarantool.org \ --cc=vdavydov.dev@gmail.com \ --subject='Re: [PATCH v4 0/5] Remove box.sql.execute()' \ /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