File: gh-5027-fields-nullability.result

package info (click to toggle)
tarantool 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 85,364 kB
  • sloc: ansic: 513,760; cpp: 69,489; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,173; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (119 lines) | stat: -rw-r--r-- 2,528 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
-- test-run result file version 2
test_run = require('test_run').new()
 | ---
 | ...

s = box.schema.space.create('gh-5027', {engine=test_run:get_cfg('engine')})
 | ---
 | ...
_ = s:create_index('i1', {parts={{1, 'unsigned'}}})
 | ---
 | ...
_ = s:create_index('i2', {parts={{5, 'unsigned', is_nullable=true}}})
 | ---
 | ...
s:replace{1}
 | ---
 | - [1]
 | ...
s:replace{1, box.NULL}
 | ---
 | - [1, null]
 | ...
s:replace{1, box.NULL, box.NULL}
 | ---
 | - [1, null, null]
 | ...
s:replace{1, box.NULL, box.NULL, box.NULL}
 | ---
 | - [1, null, null, null]
 | ...
s:drop()
 | ---
 | ...

s = box.schema.space.create('gh-5027', {engine=test_run:get_cfg('engine')})
 | ---
 | ...
_ = s:create_index('i1', {parts={{1, 'unsigned'}}})
 | ---
 | ...
_ = s:create_index('i2', {parts={{5, 'unsigned', is_nullable=false}}})
 | ---
 | ...
s:replace{1}
 | ---
 | - error: Tuple field 5 required by space format is missing
 | ...
s:replace{1, box.NULL}
 | ---
 | - error: Tuple field 5 required by space format is missing
 | ...
s:replace{1, box.NULL, box.NULL}
 | ---
 | - error: Tuple field 5 required by space format is missing
 | ...
s:replace{1, box.NULL, box.NULL, box.NULL}
 | ---
 | - error: Tuple field 5 required by space format is missing
 | ...
s:replace{1, box.NULL, box.NULL, box.NULL, 5}
 | ---
 | - [1, null, null, null, 5]
 | ...
s:drop()
 | ---
 | ...

s = box.schema.space.create('gh-5027', {engine=test_run:get_cfg('engine')})
 | ---
 | ...
_ = s:format({{name='id'}, {name='data', type='array', is_nullable=true}})
 | ---
 | ...
_ = s:create_index('i1', {parts={{1, 'unsigned'}}})
 | ---
 | ...
s:replace{1, box.NULL}
 | ---
 | - [1, null]
 | ...
_ = s:create_index('i2', {parts={{field=2, path='[*].key', type='string'}}})
 | ---
 | - error: multikey index does not support nullable root field
 | ...
s:replace{2, box.NULL}
 | ---
 | - [2, null]
 | ...
s:drop()
 | ---
 | ...

s = box.schema.space.create('gh-5027', {engine=test_run:get_cfg('engine')})
 | ---
 | ...
_ = s:format({{name='id'}, {name='data', type='array'}})
 | ---
 | ...
_ = s:create_index('i1', {parts={{1, 'unsigned'}}})
 | ---
 | ...
s:replace{1, box.NULL}
 | ---
 | - error: 'Tuple field 2 type does not match one required by operation: expected array'
 | ...
_ = s:create_index('i2', {parts={{field=2, path='[*].key', type='string'}}})
 | ---
 | ...
s:replace{2, box.NULL}
 | ---
 | - error: 'Tuple field 2 type does not match one required by operation: expected array'
 | ...
s:replace{3, {}}
 | ---
 | - [3, []]
 | ...
s:drop()
 | ---
 | ...