[tarantool-patches] [PATCH v7 0/6] sql: remove box.sql.execute

  • From: imeevma@xxxxxxxxxxxxx
  • To: tarantool-patches@xxxxxxxxxxxxx, v.shpilevoy@xxxxxxxxxxxxx
  • Date: Tue, 15 Jan 2019 19:10:03 +0300

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 seventh 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.

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-no-sql-execute

General information of difference from previous version of
patch-set:
- Added new commit that removes lua_error() from luaL_tofield().
- Added new and fixed old comments and descriptions.
- Fixed some bugs.
- Refactoring.

A bit about patches of the patch-set:

Patch 1 removes lua_error() from luaL_tofield().

Patch 2 moves map creation from xrow functions to
sql_response_dump(). It allows us to use sql_response_dump() as
method of port.

Patch 3 creates port_sql and two its methods: dump_msgpack() and
destroy().

Patch 4 creates dump_lua() method for port_sql.

Patch 5 adds binding to new_execute().

Patch 6 is temporary patch. It was created to check that
new_execute() is able to pass through tests created for execute().

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
v4:
https://www.freelists.org/post/tarantool-patches/PATCH-v4-05-Remove-boxsqlexecute
v5:
https://www.freelists.org/post/tarantool-patches/PATCH-v5-05-sql-remove-boxsqlexecute
v6:
https://www.freelists.org/post/tarantool-patches/PATCH-v6-05-sql-remove-boxsqlexecute

Mergen Imeev (6):
  lua: remove exceptions from function luaL_tofield()
  iproto: move map creation to sql_response_dump()
  iproto: create port_sql
  lua: create method dump_lua for port_sql
  lua: parameter binding for new execute()
  sql: check new box.sql.execute()

 src/box/execute.c      | 493 +++++++++++++++++++++++++++++++++++++++++--------
 src/box/execute.h      |  63 ++-----
 src/box/iproto.cc      |  16 +-
 src/box/lua/call.c     |   9 +-
 src/box/lua/schema.lua |  23 +++
 src/box/lua/sql.c      |  36 +++-
 src/box/lua/tuple.c    |   3 +-
 src/box/port.h         |   1 -
 src/box/xrow.c         |   8 +-
 src/box/xrow.h         |   9 +-
 src/lua/msgpack.c      |  12 +-
 src/lua/utils.c        | 105 ++++++-----
 src/lua/utils.h        |   8 +-
 13 files changed, 591 insertions(+), 195 deletions(-)

-- 
2.7.4


Other related posts:

  • » [tarantool-patches] [PATCH v7 0/6] sql: remove box.sql.execute - imeevma