[PATCH 1/4] Pass necessary fields to tuple_format contructor
Kirill Yukhin
kyukhin at tarantool.org
Thu Jan 24 11:13:22 MSK 2019
Hello Vladimir,
Thanks for review. My answers are inlined.
I'll send updated patch as v2.
On 23 Jan 10:53, Vladimir Davydov wrote:
> On Tue, Jan 22, 2019 at 05:07:17PM +0300, Kirill Yukhin wrote:
> > diff --git a/src/box/tuple_format.c b/src/box/tuple_format.c
> > index e11b4e6..6edc0fb 100644
> > --- a/src/box/tuple_format.c
> > +++ b/src/box/tuple_format.c
> > @@ -398,17 +398,20 @@ tuple_format_delete(struct tuple_format *format)
> > }
> >
> > struct tuple_format *
> > -tuple_format_new(struct tuple_format_vtab *vtab, struct key_def * const *keys,
> > - uint16_t key_count, const struct field_def *space_fields,
> > - uint32_t space_field_count, struct tuple_dictionary *dict)
> > +tuple_format_new(struct tuple_format_vtab *vtab, void *engine,
> > + struct key_def * const *keys, uint16_t key_count,
> > + const struct field_def *space_fields,
> > + uint32_t space_field_count, struct tuple_dictionary *dict,
> > + bool is_temporary, uint32_t exact_field_count)
>
> Nit: I think we should rearrange the arguments a little:
>
> vtab, engine, keys, key_count,
> fields, field_count, exact_field_count,
> dict, is_temporary, is_ephemeral
Done.
> > diff --git a/src/box/tuple_format.h b/src/box/tuple_format.h
> > index 30b93b6..9778fda 100644
> > --- a/src/box/tuple_format.h
> > +++ b/src/box/tuple_format.h
> > @@ -258,18 +258,23 @@ tuple_format_unref(struct tuple_format *format)
> > /**
> > * Allocate, construct and register a new in-memory tuple format.
> > * @param vtab Virtual function table for specific engines.
> > + * @param engine Pointer to storage engine.
> > * @param keys Array of key_defs of a space.
> > * @param key_count The number of keys in @a keys array.
> > * @param space_fields Array of fields, defined in a space format.
> > * @param space_field_count Length of @a space_fields.
> > + * @param is_temporary Set if format is temporary.
>
> Nit: The format isn't temporary. The space that this format
> is created for is.
Re-worded.
> > diff --git a/src/box/vinyl.c b/src/box/vinyl.c
> > index d6117f4..abae076 100644
> > --- a/src/box/vinyl.c
> > +++ b/src/box/vinyl.c
> > @@ -619,13 +619,14 @@ vinyl_engine_create_space(struct engine *engine, struct space_def *def,
> > keys[key_count++] = index_def->key_def;
> >
> > struct tuple_format *format =
> > - tuple_format_new(&vy_tuple_format_vtab, keys, key_count,
> > - def->fields, def->field_count, def->dict);
> > + tuple_format_new(&vy_tuple_format_vtab, NULL, keys,
> > + key_count,
>
> Nit: This short line surrounded by long ones doesn't look good.
Fixed.
> > + def->fields, def->field_count, def->dict,
> > + false, def->exact_field_count);
--
Regards, Kirill Yukhin
More information about the Tarantool-patches
mailing list