[tarantool-patches] [PATCH v5 0/5] sql: remove box.sql.execute

imeevma at tarantool.org imeevma at tarantool.org
Sat Dec 22 14:31:47 MSK 2018


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

This version uses new design. Still, the main goal is the same as
it was for all previous versions: to look at design of new
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-no-sql-execute

General information of difference from previous version of
patch-set:
- New design: instead of creation of new stream it creates new
  implementation of port.

A bit about patches of the patch-set:

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

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

Patch 3 creates dump_lua method for port_sql.

Patch 4 adds binding to new implementation of new_execute().

Patch 5 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

Mergen Imeev (5):
  iproto: move map creation to sql_response_dump()
  iproto: create port_sql
  sql: create method dump_lua for port_sql
  sql: parameter binding for new execute()
  sql: check new box.sql.execute()

 src/box/execute.c      | 391 +++++++++++++++++++++++++++++++++++++++++++++----
 src/box/execute.h      |  75 +++++-----
 src/box/iproto.cc      |  14 +-
 src/box/lua/schema.lua |  23 +++
 src/box/lua/sql.c      |  35 ++++-
 src/box/port.h         |   1 -
 src/box/xrow.c         |   8 +-
 src/box/xrow.h         |   9 +-
 8 files changed, 462 insertions(+), 94 deletions(-)

-- 
2.7.4





More information about the Tarantool-patches mailing list