Skip to content

Introduce MemCS per-column index layout #5467

@TarantoolBot

Description

@TarantoolBot

Product: Tarantool EE
Since: 3.6

Now one can specify a per-column layout within a MemCS index
via space format definition and/or secondary index definition covers
option. So currently we have 3 places where an index layout can be
specified. Let's list them in order of precedence (from highest precedence
to lowest):

  1. Within an index definition's covers section:
box.space.test:create_index('sk', {
    parts = {'c2', 'c3'},
    covers = {{'c4', layout = 'plain'}, {'c5',  layout = 'null_rle' }},
})
  1. Within an index definition's layout section, which specifies
    the default layout for a non-key nullable field:
box.space.test:create_index('sk', {
    parts = {'c2', 'c3'},
    covers = {'c4', 'c5'},
    layout = 'null_rle'
})
  1. Within a space format's field definition:
box.space.test:format({
    {name = "c2", type = "number"},
    {name = "c3", type = "number"},
    {name = "c4", type = "number", is_nullable = true, layout = 'null_rle'},
    {name = "c5", type = "number", is_nullable = true},
})

Currently the only available layouts are 'plain' and 'null_rle'.
Requested by @pianoyeg94 in https://github.com/tarantool/tarantool-ee/commit/9b74d277c38784dcff6cdcce38afe4f04a83d4af.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions