From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 7B6B921CF9 for ; Sat, 22 Dec 2018 06:31:51 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hFkl00BgpIFz for ; Sat, 22 Dec 2018 06:31:51 -0500 (EST) Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id CE49B21CE1 for ; Sat, 22 Dec 2018 06:31:50 -0500 (EST) From: imeevma@tarantool.org Subject: [tarantool-patches] [PATCH v5 0/5] sql: remove box.sql.execute Date: Sat, 22 Dec 2018 14:31:47 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: v.shpilevoy@tarantool.org, tarantool-patches@freelists.org 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