Skip to content

Commit bd25b0e

Browse files
craig[bot]yuzefovich
andcommitted
Merge #140414
140414: util/encoding: add support for JSON, arrays, and tuples in PrettyPrintValueEncoded r=yuzefovich a=yuzefovich Previously, JSON, arrays, and tuples would hit "unknown type" error during pretty-printing which would result in the truncated output. This is now fixed by injecting the necessary decoding logic from the relevant packages. Note that JSONs should always work, but for arrays and tuples we have loss-full conversion when going from the contents to the encoding type, so when trying to go backwards we will pick a type that could be incorrect. Epic: None Release note: None Co-authored-by: Yahor Yuzefovich <[email protected]>
2 parents 8099525 + b38d936 commit bd25b0e

File tree

16 files changed

+319
-101
lines changed

16 files changed

+319
-101
lines changed

pkg/sql/copy/testdata/copy_from

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ copy-from-kvtrace
659659
COPY tcomp FROM STDIN
660660
1 (1, 2)
661661
----
662-
CPut /Table/<>/1/1/0 -> /TUPLE/
662+
CPut /Table/<>/1/1/0 -> /TUPLE/2:2:Tuple/(1, 2)
663663

664664
# Regression test for #103220
665665
exec-ddl

pkg/sql/opt/exec/execbuilder/testdata/inverted_index

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ SET enable_zigzag_join = true
3434
query T kvtrace
3535
INSERT INTO d VALUES(0, '{"a": "b"}')
3636
----
37-
CPut /Table/106/1/0/0 -> /TUPLE/
37+
CPut /Table/106/1/0/0 -> /TUPLE/2:2:SentinelType/{"a": "b"}
3838
CPut /Table/106/2/"a"/"b"/0/0 -> /BYTES/
3939

4040
# Make sure duplicate values don't get inserted.
4141
query T kvtrace
4242
INSERT INTO d VALUES(1, '[7,0,7]')
4343
----
44-
CPut /Table/106/1/1/0 -> /TUPLE/
44+
CPut /Table/106/1/1/0 -> /TUPLE/2:2:SentinelType/[7, 0, 7]
4545
CPut /Table/106/2/Arr/0/1/0 -> /BYTES/
4646
CPut /Table/106/2/Arr/7/1/0 -> /BYTES/
4747

@@ -57,14 +57,14 @@ Del /Table/106/1/1/0
5757
query T kvtrace
5858
INSERT INTO d VALUES(2, '[{"a": "b"}, 3, {"a": "b"}]')
5959
----
60-
CPut /Table/106/1/2/0 -> /TUPLE/
60+
CPut /Table/106/1/2/0 -> /TUPLE/2:2:SentinelType/[{"a": "b"}, 3, {"a": "b"}]
6161
CPut /Table/106/2/Arr/3/2/0 -> /BYTES/
6262
CPut /Table/106/2/Arr/"a"/"b"/2/0 -> /BYTES/
6363

6464
query T kvtrace
6565
INSERT INTO d VALUES(3, '[{"a": [0,1,0]}, 3, {"a": "b"}]')
6666
----
67-
CPut /Table/106/1/3/0 -> /TUPLE/
67+
CPut /Table/106/1/3/0 -> /TUPLE/2:2:SentinelType/[{"a": [0, 1, 0]}, 3, {"a": "b"}]
6868
CPut /Table/106/2/Arr/3/3/0 -> /BYTES/
6969
CPut /Table/106/2/Arr/"a"/"b"/3/0 -> /BYTES/
7070
CPut /Table/106/2/Arr/"a"/Arr/0/3/0 -> /BYTES/
@@ -81,7 +81,7 @@ query T kvtrace
8181
UPDATE d SET b='[1]' WHERE a=4
8282
----
8383
Scan /Table/106/1/4/0 lock Exclusive (Block, Unreplicated)
84-
Put /Table/106/1/4/0 -> /TUPLE/
84+
Put /Table/106/1/4/0 -> /TUPLE/2:2:SentinelType/[1]
8585
CPut /Table/106/2/Arr/1/4/0 -> /BYTES/
8686

8787
# Update back to null.
@@ -107,7 +107,7 @@ query T kvtrace
107107
INSERT INTO e VALUES(0, ARRAY[7,0,0,1,NULL,10,0,1,7,NULL])
108108
----
109109
Scan /Table/20/1/10{7-8}
110-
CPut /Table/107/1/0/0 -> /TUPLE/
110+
CPut /Table/107/1/0/0 -> /TUPLE/2:2:Array/ARRAY[7,0,0,1,NULL,10,0,1,7,NULL]
111111
CPut /Table/107/2/NULL/0/0 -> /BYTES/
112112
CPut /Table/107/2/0/0/0 -> /BYTES/
113113
CPut /Table/107/2/1/0/0 -> /BYTES/
@@ -118,7 +118,7 @@ CPut /Table/107/2/10/0/0 -> /BYTES/
118118
query T kvtrace
119119
INSERT INTO e VALUES(1, ARRAY[])
120120
----
121-
CPut /Table/107/1/1/0 -> /TUPLE/
121+
CPut /Table/107/1/1/0 -> /TUPLE/2:2:Array/ARRAY[]
122122
CPut /Table/107/2/[]/1/0 -> /BYTES/
123123

124124
# Make sure that NULL arrays do not emit any keys at all.
@@ -131,7 +131,7 @@ CPut /Table/107/1/2/0 -> /TUPLE/
131131
query T kvtrace
132132
INSERT INTO e VALUES(3, ARRAY[NULL])
133133
----
134-
CPut /Table/107/1/3/0 -> /TUPLE/
134+
CPut /Table/107/1/3/0 -> /TUPLE/2:2:Array/ARRAY[NULL]
135135
CPut /Table/107/2/NULL/3/0 -> /BYTES/
136136

137137
# Make sure that we're emitting the right plan for array index scans even if
@@ -201,7 +201,7 @@ query T kvtrace
201201
INSERT INTO f VALUES(0, ARRAY[7,0,0,1.000,10,0,1,7,1.0,1.00])
202202
----
203203
Scan /Table/20/1/10{8-9}
204-
CPut /Table/108/1/0/0 -> /TUPLE/
204+
CPut /Table/108/1/0/0 -> /TUPLE/2:2:Array/ARRAY[7,0,0,1.000,10,0,1,7,1.0,1.00]
205205
CPut /Table/108/2/0/0/0 -> /BYTES/
206206
CPut /Table/108/2/1/0/0 -> /BYTES/
207207
CPut /Table/108/2/7/0/0 -> /BYTES/
@@ -210,7 +210,7 @@ CPut /Table/108/2/1E+1/0/0 -> /BYTES/
210210
query T kvtrace
211211
INSERT INTO f VALUES(1, ARRAY[])
212212
----
213-
CPut /Table/108/1/1/0 -> /TUPLE/
213+
CPut /Table/108/1/1/0 -> /TUPLE/2:2:Array/ARRAY[]
214214
CPut /Table/108/2/[]/1/0 -> /BYTES/
215215

216216
query T kvtrace
@@ -225,7 +225,7 @@ query T kvtrace
225225
UPDATE f SET b = ARRAY[0,15,7,10] WHERE a = 0
226226
----
227227
Scan /Table/108/1/0/0 lock Exclusive (Block, Unreplicated)
228-
Put /Table/108/1/0/0 -> /TUPLE/
228+
Put /Table/108/1/0/0 -> /TUPLE/2:2:Array/ARRAY[0,15,7,10]
229229
Del /Table/108/2/1/0/0
230230
CPut /Table/108/2/15/0/0 -> /BYTES/
231231

@@ -3237,7 +3237,7 @@ query T kvtrace
32373237
INSERT INTO t VALUES (1.00, ARRAY[1,2])
32383238
----
32393239
Scan /Table/20/1/109{-/PrefixEnd}
3240-
CPut /Table/109/1/1/0 -> /TUPLE/1:1:Decimal/1.00/
3240+
CPut /Table/109/1/1/0 -> /TUPLE/1:1:Decimal/1.00/1:2:Array/ARRAY[1,2]
32413241
CPut /Table/109/2/1/1/0 -> /BYTES/0x1503348964
32423242
CPut /Table/109/2/2/1/0 -> /BYTES/0x1503348964
32433243

pkg/sql/opt/exec/execbuilder/testdata/inverted_index_multi_column

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Scan /Table/106/3/10/"foo"/"a"/"b"{-/PrefixEnd}
3030
query T kvtrace
3131
INSERT INTO t VALUES (1, 333, 'foo', '{"a": "b"}'::json)
3232
----
33-
CPut /Table/106/1/1/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/
33+
CPut /Table/106/1/1/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/1:4:SentinelType/{"a": "b"}
3434
CPut /Table/106/2/333/"a"/"b"/1/0 -> /BYTES/
3535
CPut /Table/106/3/333/"foo"/"a"/"b"/1/0 -> /BYTES/
3636

@@ -46,7 +46,7 @@ Scan /Table/106/1/1/0
4646
query T kvtrace
4747
INSERT INTO t VALUES (2, 333, 'foo', '[7, 0, 7]'::json)
4848
----
49-
CPut /Table/106/1/2/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/
49+
CPut /Table/106/1/2/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/1:4:SentinelType/[7, 0, 7]
5050
CPut /Table/106/2/333/Arr/0/2/0 -> /BYTES/
5151
CPut /Table/106/2/333/Arr/7/2/0 -> /BYTES/
5252
CPut /Table/106/3/333/"foo"/Arr/0/2/0 -> /BYTES/
@@ -55,7 +55,7 @@ CPut /Table/106/3/333/"foo"/Arr/7/2/0 -> /BYTES/
5555
query T kvtrace
5656
INSERT INTO t VALUES (3, 333, 'foo', '[{"a": "b"}, 3, {"a": "b"}]'::json)
5757
----
58-
CPut /Table/106/1/3/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/
58+
CPut /Table/106/1/3/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/1:4:SentinelType/[{"a": "b"}, 3, {"a": "b"}]
5959
CPut /Table/106/2/333/Arr/3/3/0 -> /BYTES/
6060
CPut /Table/106/2/333/Arr/"a"/"b"/3/0 -> /BYTES/
6161
CPut /Table/106/3/333/"foo"/Arr/3/3/0 -> /BYTES/
@@ -93,7 +93,7 @@ query T kvtrace
9393
UPDATE t SET j = '[1]' WHERE k = 4
9494
----
9595
Scan /Table/106/1/4/0 lock Exclusive (Block, Unreplicated)
96-
Put /Table/106/1/4/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/
96+
Put /Table/106/1/4/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/1:4:SentinelType/[1]
9797
CPut /Table/106/2/333/Arr/1/4/0 -> /BYTES/
9898
CPut /Table/106/3/333/"foo"/Arr/1/4/0 -> /BYTES/
9999

@@ -117,7 +117,7 @@ Del /Table/106/1/4/0
117117
query T kvtrace
118118
INSERT INTO t VALUES (5, NULL, 'foo', '{"a": "b"}'::json)
119119
----
120-
CPut /Table/106/1/5/0 -> /TUPLE/3:3:Bytes/foo/
120+
CPut /Table/106/1/5/0 -> /TUPLE/3:3:Bytes/foo/1:4:SentinelType/{"a": "b"}
121121
CPut /Table/106/2/NULL/"a"/"b"/5/0 -> /BYTES/
122122
CPut /Table/106/3/NULL/"foo"/"a"/"b"/5/0 -> /BYTES/
123123

@@ -126,7 +126,7 @@ query T kvtrace
126126
UPDATE t SET i = 333 WHERE k = 5
127127
----
128128
Scan /Table/106/1/5/0 lock Exclusive (Block, Unreplicated)
129-
Put /Table/106/1/5/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/
129+
Put /Table/106/1/5/0 -> /TUPLE/2:2:Int/333/1:3:Bytes/foo/1:4:SentinelType/{"a": "b"}
130130
Del /Table/106/2/NULL/"a"/"b"/5/0
131131
CPut /Table/106/2/333/"a"/"b"/5/0 -> /BYTES/
132132
Del /Table/106/3/NULL/"foo"/"a"/"b"/5/0
@@ -137,7 +137,7 @@ query T kvtrace
137137
UPDATE t SET i = NULL WHERE k = 5
138138
----
139139
Scan /Table/106/1/5/0 lock Exclusive (Block, Unreplicated)
140-
Put /Table/106/1/5/0 -> /TUPLE/3:3:Bytes/foo/
140+
Put /Table/106/1/5/0 -> /TUPLE/3:3:Bytes/foo/1:4:SentinelType/{"a": "b"}
141141
Del /Table/106/2/333/"a"/"b"/5/0
142142
CPut /Table/106/2/NULL/"a"/"b"/5/0 -> /BYTES/
143143
Del /Table/106/3/333/"foo"/"a"/"b"/5/0

pkg/sql/opt/exec/execbuilder/testdata/json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -255,15 +255,15 @@ INSERT INTO composite VALUES (1, '1.00'::JSONB), (2, '1'::JSONB), (3, '2'::JSONB
255255
(4, '3.0'::JSONB), (5, '"a"'::JSONB)
256256
----
257257
Scan /Table/20/1/10{8-9}
258-
CPut /Table/108/1/1/0 -> /TUPLE/
258+
CPut /Table/108/1/1/0 -> /TUPLE/2:2:SentinelType/1.00
259259
CPut /Table/108/2/"H*\x02\x00\x00\x89\x88" -> /BYTES/0x2f0f0c200000002000000403348964
260-
CPut /Table/108/1/2/0 -> /TUPLE/
260+
CPut /Table/108/1/2/0 -> /TUPLE/2:2:SentinelType/1
261261
CPut /Table/108/2/"H*\x02\x00\x00\x8a\x88" -> /BYTES/
262-
CPut /Table/108/1/3/0 -> /TUPLE/
262+
CPut /Table/108/1/3/0 -> /TUPLE/2:2:SentinelType/2
263263
CPut /Table/108/2/"H*\x04\x00\x00\x8b\x88" -> /BYTES/
264-
CPut /Table/108/1/4/0 -> /TUPLE/
264+
CPut /Table/108/1/4/0 -> /TUPLE/2:2:SentinelType/3.0
265265
CPut /Table/108/2/"H*\x06\x00\x00\x8c\x88" -> /BYTES/0x2f0f0c20000000200000040334891e
266-
CPut /Table/108/1/5/0 -> /TUPLE/
266+
CPut /Table/108/1/5/0 -> /TUPLE/2:2:SentinelType/"a"
267267
CPut /Table/108/2/"G\x12a\x00\x01\x00\x8d\x88" -> /BYTES/
268268

269269
query T kvtrace

pkg/sql/opt/exec/execbuilder/testdata/partial_index

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -874,14 +874,14 @@ SELECT * FROM inv@i WHERE b @> '{"x": "y"}' AND c = 'baz'
874874
query T kvtrace
875875
INSERT INTO inv VALUES (1, '{"x": "y", "num": 1}', 'foo')
876876
----
877-
CPut /Table/107/1/1/0 -> /TUPLE/
877+
CPut /Table/107/1/1/0 -> /TUPLE/2:2:SentinelType/{"num": 1, "x": "y"}/1:3:Bytes/foo
878878
CPut /Table/107/2/"num"/1/1/0 -> /BYTES/
879879
CPut /Table/107/2/"x"/"y"/1/0 -> /BYTES/
880880

881881
query T kvtrace
882882
INSERT INTO inv VALUES (2, '{"x": "y", "num": 2}', 'baz')
883883
----
884-
CPut /Table/107/1/2/0 -> /TUPLE/
884+
CPut /Table/107/1/2/0 -> /TUPLE/2:2:SentinelType/{"num": 2, "x": "y"}/1:3:Bytes/baz
885885

886886
# ---------------------------------------------------------
887887
# DELETE partial inverted index
@@ -914,14 +914,14 @@ query T kvtrace
914914
UPDATE inv SET c = 'bar' WHERE a = 1
915915
----
916916
Scan /Table/107/1/1/0 lock Exclusive (Block, Unreplicated)
917-
Put /Table/107/1/1/0 -> /TUPLE/
917+
Put /Table/107/1/1/0 -> /TUPLE/2:2:SentinelType/{"num": 1, "x": "y"}/1:3:Bytes/bar
918918

919919
# Update the JSON of a row in the partial index.
920920
query T kvtrace
921921
UPDATE inv SET b = '{"x": "y", "num": 3}' WHERE a = 1
922922
----
923923
Scan /Table/107/1/1/0 lock Exclusive (Block, Unreplicated)
924-
Put /Table/107/1/1/0 -> /TUPLE/
924+
Put /Table/107/1/1/0 -> /TUPLE/2:2:SentinelType/{"num": 3, "x": "y"}/1:3:Bytes/bar
925925
Del /Table/107/2/"num"/1/1/0
926926
CPut /Table/107/2/"num"/3/1/0 -> /BYTES/
927927

@@ -930,7 +930,7 @@ query T kvtrace
930930
UPDATE inv SET c = 'fud' WHERE a = 1
931931
----
932932
Scan /Table/107/1/1/0 lock Exclusive (Block, Unreplicated)
933-
Put /Table/107/1/1/0 -> /TUPLE/
933+
Put /Table/107/1/1/0 -> /TUPLE/2:2:SentinelType/{"num": 3, "x": "y"}/1:3:Bytes/fud
934934
Del /Table/107/2/"num"/3/1/0
935935
Del /Table/107/2/"x"/"y"/1/0
936936

@@ -939,21 +939,21 @@ query T kvtrace
939939
UPDATE inv SET c = 'boo' WHERE a = 2
940940
----
941941
Scan /Table/107/1/2/0 lock Exclusive (Block, Unreplicated)
942-
Put /Table/107/1/2/0 -> /TUPLE/
942+
Put /Table/107/1/2/0 -> /TUPLE/2:2:SentinelType/{"num": 2, "x": "y"}/1:3:Bytes/boo
943943

944944
# Update the JSON of a row not in the partial index.
945945
query T kvtrace
946946
UPDATE inv SET b = '{"x": "y", "num": 4}' WHERE a = 2
947947
----
948948
Scan /Table/107/1/2/0 lock Exclusive (Block, Unreplicated)
949-
Put /Table/107/1/2/0 -> /TUPLE/
949+
Put /Table/107/1/2/0 -> /TUPLE/2:2:SentinelType/{"num": 4, "x": "y"}/1:3:Bytes/boo
950950

951951
# Update a non-JSON column so that the row is added to the partial index.
952952
query T kvtrace
953953
UPDATE inv SET c = 'bar' WHERE a = 2
954954
----
955955
Scan /Table/107/1/2/0 lock Exclusive (Block, Unreplicated)
956-
Put /Table/107/1/2/0 -> /TUPLE/
956+
Put /Table/107/1/2/0 -> /TUPLE/2:2:SentinelType/{"num": 4, "x": "y"}/1:3:Bytes/bar
957957
CPut /Table/107/2/"num"/4/2/0 -> /BYTES/
958958
CPut /Table/107/2/"x"/"y"/2/0 -> /BYTES/
959959

@@ -965,7 +965,7 @@ Scan /Table/107/1/2/0 lock Exclusive (Block, Unreplicated)
965965
Del /Table/107/2/"num"/4/2/0
966966
Del /Table/107/2/"x"/"y"/2/0
967967
Del /Table/107/1/2/0
968-
CPut /Table/107/1/4/0 -> /TUPLE/
968+
CPut /Table/107/1/4/0 -> /TUPLE/2:2:SentinelType/{"num": 4, "x": "y"}/1:3:Bytes/bar
969969
CPut /Table/107/2/"num"/4/4/0 -> /BYTES/
970970
CPut /Table/107/2/"x"/"y"/4/0 -> /BYTES/
971971

@@ -975,7 +975,7 @@ UPDATE inv SET a = 3 WHERE a = 1
975975
----
976976
Scan /Table/107/1/1/0 lock Exclusive (Block, Unreplicated)
977977
Del /Table/107/1/1/0
978-
CPut /Table/107/1/3/0 -> /TUPLE/
978+
CPut /Table/107/1/3/0 -> /TUPLE/2:2:SentinelType/{"num": 3, "x": "y"}/1:3:Bytes/fud
979979

980980
# Update to multiple rows (one in and one not in the partial index) so that both
981981
# are in the partial index.
@@ -986,8 +986,8 @@ query T kvtrace
986986
UPDATE inv SET c = 'foo' WHERE a IN (10, 11)
987987
----
988988
Scan /Table/107/1/1{0-2} lock Exclusive (Block, Unreplicated)
989-
Put /Table/107/1/10/0 -> /TUPLE/
990-
Put /Table/107/1/11/0 -> /TUPLE/
989+
Put /Table/107/1/10/0 -> /TUPLE/2:2:SentinelType/{"a": "b"}/1:3:Bytes/foo
990+
Put /Table/107/1/11/0 -> /TUPLE/2:2:SentinelType/{"a": "b"}/1:3:Bytes/foo
991991
CPut /Table/107/2/"a"/"b"/11/0 -> /BYTES/
992992

993993
# Update to multiple rows (one in and one not in the partial index) so that both
@@ -999,9 +999,9 @@ query T kvtrace
999999
UPDATE inv SET c = 'fud' WHERE a IN (12, 13)
10001000
----
10011001
Scan /Table/107/1/1{2-4} lock Exclusive (Block, Unreplicated)
1002-
Put /Table/107/1/12/0 -> /TUPLE/
1002+
Put /Table/107/1/12/0 -> /TUPLE/2:2:SentinelType/{"a": "b"}/1:3:Bytes/fud
10031003
Del /Table/107/2/"a"/"b"/12/0
1004-
Put /Table/107/1/13/0 -> /TUPLE/
1004+
Put /Table/107/1/13/0 -> /TUPLE/2:2:SentinelType/{"a": "b"}/1:3:Bytes/fud
10051005

10061006
# ---------------------------------------------------------
10071007
# UPSERT partial inverted index
@@ -1013,15 +1013,15 @@ query T kvtrace
10131013
UPSERT INTO inv VALUES (4, '{"x": "y", "num": 4}', 'foo')
10141014
----
10151015
Scan /Table/107/1/4/0 lock Exclusive (Block, Unreplicated)
1016-
Put /Table/107/1/4/0 -> /TUPLE/
1016+
Put /Table/107/1/4/0 -> /TUPLE/2:2:SentinelType/{"num": 4, "x": "y"}/1:3:Bytes/foo
10171017

10181018
# Upsert a conflicting row with different JSON from the existing row in the
10191019
# partial index.
10201020
query T kvtrace
10211021
UPSERT INTO inv VALUES (4, '{"x": "y", "num": 6}', 'foo')
10221022
----
10231023
Scan /Table/107/1/4/0 lock Exclusive (Block, Unreplicated)
1024-
Put /Table/107/1/4/0 -> /TUPLE/
1024+
Put /Table/107/1/4/0 -> /TUPLE/2:2:SentinelType/{"num": 6, "x": "y"}/1:3:Bytes/foo
10251025
Del /Table/107/2/"num"/4/4/0
10261026
CPut /Table/107/2/"num"/6/4/0 -> /BYTES/
10271027

@@ -1030,7 +1030,7 @@ query T kvtrace
10301030
UPSERT INTO inv VALUES (4, '{"x": "y", "num": 6}', 'fud')
10311031
----
10321032
Scan /Table/107/1/4/0 lock Exclusive (Block, Unreplicated)
1033-
Put /Table/107/1/4/0 -> /TUPLE/
1033+
Put /Table/107/1/4/0 -> /TUPLE/2:2:SentinelType/{"num": 6, "x": "y"}/1:3:Bytes/fud
10341034
Del /Table/107/2/"num"/6/4/0
10351035
Del /Table/107/2/"x"/"y"/4/0
10361036

@@ -1039,7 +1039,7 @@ query T kvtrace
10391039
UPSERT INTO inv VALUES (5, '{"x": "y", "num": 7}', 'bar')
10401040
----
10411041
Scan /Table/107/1/5/0 lock Exclusive (Block, Unreplicated)
1042-
CPut /Table/107/1/5/0 -> /TUPLE/
1042+
CPut /Table/107/1/5/0 -> /TUPLE/2:2:SentinelType/{"num": 7, "x": "y"}/1:3:Bytes/bar
10431043
CPut /Table/107/2/"num"/7/5/0 -> /BYTES/
10441044
CPut /Table/107/2/"x"/"y"/5/0 -> /BYTES/
10451045

@@ -1048,7 +1048,7 @@ query T kvtrace
10481048
UPSERT INTO inv VALUES (6, '{"x": "y", "num": 8}', 'baz')
10491049
----
10501050
Scan /Table/107/1/6/0 lock Exclusive (Block, Unreplicated)
1051-
CPut /Table/107/1/6/0 -> /TUPLE/
1051+
CPut /Table/107/1/6/0 -> /TUPLE/2:2:SentinelType/{"num": 8, "x": "y"}/1:3:Bytes/baz
10521052

10531053
# Regression test for #57085. Cascading DELETEs should not issue DEL operations
10541054
# for partial indexes of a child table when the deleted row was not in the

0 commit comments

Comments
 (0)