From: Nikita Pettik <korablev@tarantool.org> To: tarantool-patches@freelists.org Cc: v.shpilevoy@tarantool.org, kostja@tarantool.org, alexander.turenko@tarantool.org, Nikita Pettik <korablev@tarantool.org> Subject: [tarantool-patches] [PATCH 2/8] port: move struct port_sql to box/port.h Date: Tue, 27 Aug 2019 16:34:23 +0300 [thread overview] Message-ID: <31f265719574074dbabca4ced925ed1008bb49eb.1566907520.git.korablev@tarantool.org> (raw) In-Reply-To: <cover.1566907519.git.korablev@tarantool.org> In-Reply-To: <cover.1566907519.git.korablev@tarantool.org> We are going to use port_sql_create() in box/lua/execute.c so to be able to call it let's make port_sql_create() non-static and move its declaration to box/port.h alongside with struct port_sql (since box/port.h already contains struct port_tuple and struct port_lua). No functional changes are provided. Needed for #3292 --- src/box/execute.c | 2 +- src/box/execute.h | 20 -------------------- src/box/port.h | 24 ++++++++++++++++++++++++ src/lib/core/port.h | 1 + 4 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/box/execute.c b/src/box/execute.c index 68e94e442..a6454d5bb 100644 --- a/src/box/execute.c +++ b/src/box/execute.c @@ -112,7 +112,7 @@ const struct port_vtab port_sql_vtab = { /* .destroy = */ port_sql_destroy, }; -static void +void port_sql_create(struct port *port, struct sql_stmt *stmt) { port_tuple_create(port); diff --git a/src/box/execute.h b/src/box/execute.h index a2fd4d1b7..1995c43d5 100644 --- a/src/box/execute.h +++ b/src/box/execute.h @@ -69,26 +69,6 @@ sql_prepare_and_execute(const char *sql, int len, const struct sql_bind *bind, uint32_t bind_count, struct port *port, struct region *region); -/** - * Port implementation that is used to store SQL responses and - * output them to obuf or Lua. This port implementation is - * inherited from the port_tuple structure. This allows us to use - * this structure in the port_tuple methods instead of port_tuple - * itself. - * - * The methods of port_tuple are called via explicit access to - * port_tuple_vtab just like C++ does with BaseClass::method, when - * it is called in a child method. - */ -struct port_sql { - /* port_tuple to inherit from. */ - struct port_tuple port_tuple; - /* Prepared SQL statement. */ - struct sql_stmt *stmt; -}; - -extern const struct port_vtab port_sql_vtab; - #if defined(__cplusplus) } /* extern "C" { */ #endif diff --git a/src/box/port.h b/src/box/port.h index a7f5d81bd..0d2cc7e84 100644 --- a/src/box/port.h +++ b/src/box/port.h @@ -119,6 +119,30 @@ port_init(void); void port_free(void); +/** + * Port implementation that is used to store SQL responses and + * output them to obuf or Lua. This port implementation is + * inherited from the port_tuple structure. This allows us to use + * this structure in the port_tuple methods instead of port_tuple + * itself. + * + * The methods of port_tuple are called via explicit access to + * port_tuple_vtab just like C++ does with BaseClass::method, when + * it is called in a child method. + */ +struct port_sql { + /* port_tuple to inherit from. */ + struct port_tuple port_tuple; + /* Prepared SQL statement. */ + struct sql_stmt *stmt; +}; + +extern const struct port_vtab port_sql_vtab; + +/** Create instance of SQL port using given attributes. */ +void +port_sql_create(struct port *port, struct sql_stmt *stmt); + #if defined(__cplusplus) } /* extern "C" */ #endif /* defined __cplusplus */ diff --git a/src/lib/core/port.h b/src/lib/core/port.h index abe21aa53..2b1ccaae3 100644 --- a/src/lib/core/port.h +++ b/src/lib/core/port.h @@ -39,6 +39,7 @@ extern "C" { struct obuf; struct lua_State; +struct sql_stmt; struct port; /** -- 2.15.1
next prev parent reply other threads:[~2019-08-27 13:34 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-27 13:34 [tarantool-patches] [PATCH 0/8] rfc: introduce dry-run execution of SQL queries Nikita Pettik 2019-08-27 13:34 ` [tarantool-patches] [PATCH 1/8] port: increase padding of struct port Nikita Pettik 2019-08-28 9:33 ` [tarantool-patches] " Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-27 13:34 ` Nikita Pettik [this message] 2019-08-28 9:33 ` [tarantool-patches] Re: [PATCH 2/8] port: move struct port_sql to box/port.h Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-27 13:34 ` [tarantool-patches] [PATCH 3/8] sql: remove sql_prepare_v2() Nikita Pettik 2019-08-28 9:33 ` [tarantool-patches] " Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-27 13:34 ` [tarantool-patches] [PATCH 4/8] sql: refactor sql_prepare() and sqlPrepare() Nikita Pettik 2019-08-28 9:35 ` [tarantool-patches] " Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-27 13:34 ` [tarantool-patches] [PATCH 5/8] sql: move sql_prepare() declaration to box/execute.h Nikita Pettik 2019-08-28 9:35 ` [tarantool-patches] " Konstantin Osipov 2019-08-27 13:34 ` [tarantool-patches] [PATCH 6/8] refactoring: use sql_prepare() and sql_execute() in tx_process_sql() Nikita Pettik 2019-08-28 9:37 ` [tarantool-patches] " Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-27 13:34 ` [tarantool-patches] [PATCH 7/8] netbox: allow passing options to :execute() Nikita Pettik 2019-08-28 9:38 ` [tarantool-patches] " Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-27 13:34 ` [tarantool-patches] [PATCH 8/8] sql: introduce dry-run execution Nikita Pettik 2019-08-28 9:39 ` [tarantool-patches] " Konstantin Osipov 2019-08-29 20:46 ` Vladislav Shpilevoy 2019-08-28 9:31 ` [tarantool-patches] Re: [PATCH 0/8] rfc: introduce dry-run execution of SQL queries Konstantin Osipov 2019-08-29 20:46 ` 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=31f265719574074dbabca4ced925ed1008bb49eb.1566907520.git.korablev@tarantool.org \ --to=korablev@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=kostja@tarantool.org \ --cc=tarantool-patches@freelists.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [tarantool-patches] [PATCH 2/8] port: move struct port_sql to box/port.h' \ /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