[PATCH 2/2] vinyl: zap upsert_format

v.shpilevoy at tarantool.org v.shpilevoy at tarantool.org
Mon Apr 2 13:58:36 MSK 2018


Please, see 2 comments below.

> 30 марта 2018 г., в 18:47, Vladimir Davydov <vdavydov.dev at gmail.com> написал(а):
> 
> The only difference between format of UPSERT statements and format of
> other DML statements of the same index is that the former reserves one
> byte for UPSERT counter, which is needed to schedule UPSERT squashing.
> Since we store UPSERT counter on lsregion now, we don't need a special
> format for UPSERTs anymore. Remove it.
> ---
> src/box/vinyl.c                 | 33 ++++------------------------
> src/box/vy_lsm.c                | 48 +++++++++++------------------------------
> src/box/vy_lsm.h                |  5 -----
> src/box/vy_mem.c                | 15 ++++---------
> src/box/vy_mem.h                |  6 +-----
> src/box/vy_point_lookup.c       |  6 ++----
> src/box/vy_read_iterator.c      |  5 ++---
> src/box/vy_run.c                | 33 +++++++++++-----------------
> src/box/vy_run.h                | 11 ++--------
> src/box/vy_scheduler.c          |  8 +++----
> src/box/vy_stmt.c               | 48 +++++------------------------------------
> src/box/vy_stmt.h               | 26 +---------------------
> src/box/vy_tx.c                 |  9 +++-----
> src/box/vy_upsert.c             | 11 +++++-----
> src/box/vy_upsert.h             |  3 +--
> src/box/vy_write_iterator.c     | 27 ++++++++---------------
> src/box/vy_write_iterator.h     |  8 +++----
> test/unit/vy_cache.c            | 11 +++++-----
> test/unit/vy_iterators_helper.c | 28 ++++++++----------------
> test/unit/vy_iterators_helper.h |  4 ----
> test/unit/vy_point_lookup.c     | 18 ++++++----------
> test/unit/vy_write_iterator.c   |  6 ++----
> 22 files changed, 95 insertions(+), 274 deletions(-)
> 
> diff --git a/src/box/vy_mem.c b/src/box/vy_mem.c
> index 1105340c..68abf5bc 100644
> --- a/src/box/vy_mem.c
> +++ b/src/box/vy_mem.c
> @@ -128,19 +125,15 @@ vy_mem_new(struct vy_mem_env *env, int64_t generation,
> 

1. This functions seems to be unused. Can you delete it, please?

> void
> vy_mem_update_formats(struct vy_mem *mem, struct tuple_format *new_format,
> -		      struct tuple_format *new_format_with_colmask,
> -		      struct tuple_format *new_upsert_format)
> +		      struct tuple_format *new_format_with_colmask)
> {
> 	assert(mem->count.rows == 0);
> 	tuple_format_unref(mem->format);
> 	tuple_format_unref(mem->format_with_colmask);
> -	tuple_format_unref(mem->upsert_format);
> 	mem->format = new_format;
> 	mem->format_with_colmask = new_format_with_colmask;
> -	mem->upsert_format = new_upsert_format;
> 	tuple_format_ref(mem->format);
> 	tuple_format_ref(mem->format_with_colmask);
> -	tuple_format_ref(mem->upsert_format);
> }
> 
> void
> diff --git a/src/box/vy_run.c b/src/box/vy_run.c
> index da6d5872..637f63fa 100644
> --- a/src/box/vy_run.c
> +++ b/src/box/vy_run.c
> @@ -2205,7 +2202,6 @@ vy_run_rebuild_index(struct vy_run *run, const char *dir,

2. Please, update a comment - it seems to be very out of date: user_key_def is omitted,
and bloom_fpr is already removed.

> 		     const struct key_def *cmp_def,
> 		     const struct key_def *key_def,
> 		     struct tuple_format *mem_format,
> -		     struct tuple_format *upsert_format,
> 		     const struct index_opts *opts)
> {
> 	assert(run->info.bloom == NULL);
> 
> 




More information about the Tarantool-patches mailing list