Skip to content
Snippets Groups Projects
  • Ilya Verbin's avatar
    76b53fc0
    box: support default field values in the space format · 76b53fc0
    Ilya Verbin authored and Дмитрий Кольцов's avatar Дмитрий Кольцов committed
    Now a field can be assigned a default value in the space format. When a new
    tuple is inserted into a space, and some of the fields contain null values,
    those fields will be filled with their respective default values.
    
    Closes #8157
    
    @TarantoolBot document
    Title: Document default field values
    Product: Tarantool
    Since: 3.0
    Root document: https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_space/format/
    
    The format clause contains, for each field, a definition within braces:
    `{name='...',type='...'[,is_nullable=...][,default=...]}`, where:
    
    * the optional `default` value contains a default value for the field.
      Its type must be compatible with the field type. If default value is set,
      it is applied regardless of whether `is_nullable` is true or false.
    
    Example:
    
    ```lua
    tarantool> box.space.tester:format{
             > {name = 'id', type = 'unsigned'},
             > {name = 'name', type = 'string', default = 'Noname'},
             > {name = 'pass', type = 'string'},
             > {name = 'shell', type = 'string', default = '/bin/sh'}}
    ---
    ...
    
    tarantool> box.space.tester:insert{1000, nil, 'qwerty'}
    ---
    - [1000, 'Noname', 'qwerty', '/bin/sh']
    ...
    ```
    76b53fc0
    History
    box: support default field values in the space format
    Ilya Verbin authored and Дмитрий Кольцов's avatar Дмитрий Кольцов committed
    Now a field can be assigned a default value in the space format. When a new
    tuple is inserted into a space, and some of the fields contain null values,
    those fields will be filled with their respective default values.
    
    Closes #8157
    
    @TarantoolBot document
    Title: Document default field values
    Product: Tarantool
    Since: 3.0
    Root document: https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_space/format/
    
    The format clause contains, for each field, a definition within braces:
    `{name='...',type='...'[,is_nullable=...][,default=...]}`, where:
    
    * the optional `default` value contains a default value for the field.
      Its type must be compatible with the field type. If default value is set,
      it is applied regardless of whether `is_nullable` is true or false.
    
    Example:
    
    ```lua
    tarantool> box.space.tester:format{
             > {name = 'id', type = 'unsigned'},
             > {name = 'name', type = 'string', default = 'Noname'},
             > {name = 'pass', type = 'string'},
             > {name = 'shell', type = 'string', default = '/bin/sh'}}
    ---
    ...
    
    tarantool> box.space.tester:insert{1000, nil, 'qwerty'}
    ---
    - [1000, 'Noname', 'qwerty', '/bin/sh']
    ...
    ```