[tarantool-patches] Re: [PATCH 03/10] Encode a dml statement to a transaction memory region
Konstantin Osipov
kostja.osipov at gmail.com
Wed Apr 24 21:28:11 MSK 2019
* Georgy Kirichenko <georgy at tarantool.org> [19/04/19 19:59]:
> Prerequisites: #1254
> ---
> src/box/request.c | 2 +-
> src/box/txn.c | 2 +-
> src/box/vy_log.c | 2 +-
> src/box/vy_stmt.c | 6 ++++--
> src/box/xrow.c | 21 +++++++++++++++------
> src/box/xrow.h | 12 +++++++++---
> 6 files changed, 31 insertions(+), 14 deletions(-)
>
> diff --git a/src/box/request.c b/src/box/request.c
> index 9c684af73..9edd1f8b1 100644
> --- a/src/box/request.c
> +++ b/src/box/request.c
> @@ -61,7 +61,7 @@ request_update_header(struct request *request, struct xrow_header *row)
> if (row == NULL)
> return 0;
> row->type = request->type;
> - row->bodycnt = xrow_encode_dml(request, row->body);
> + row->bodycnt = xrow_encode_dml(request, &fiber()->gc, false, row->body);
I don't understand the business with copy_tuple. Why do you need
it? Why not always copy the tuple? Why not have a separate wrapper
which would copy the body, e.g. xrow_encode_dml_and_copy_body()?
request_update_header() should be using txn memory, I don't see
why it uses region memory in your patch. I haven't seen the
subsequent patches, I hope it is addressed there. If not, please
do.
--
Konstantin Osipov, Moscow, Russia, +7 903 626 22 32
http://tarantool.io - www.twitter.com/kostja_osipov
More information about the Tarantool-patches
mailing list