3535 id_
3636 PARSE_JSON(id_) AS variant_id_
3737 PARSE_JSON('[' || id_ || ',' || bool_ || ']') AS variant_array_
38- PARSE_JSON('{\ "id\ ": ' || id_ || ', \ "name\ ": \ "' || string_ || '\ "}') AS variant_doc_
38+ PARSE_JSON('{"id": ' || id_ || ', "name": "' || string_ || '"}') AS variant_doc_
3939 primary-key : id_
4040 expect : |-
4141 CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_id_` VARIANT,`variant_array_` VARIANT,`variant_doc_` VARIANT}, primaryKeys=id_, options=()}
5555 id_
5656 TRY_PARSE_JSON(id_) AS variant_id_
5757 TRY_PARSE_JSON('[' || id_ || ',' || bool_ || ']') AS variant_array_
58- TRY_PARSE_JSON('{\ "id\ ": ' || id_ || ', \ "name\ ": \ "' || string_ || '\ "}') AS variant_doc_
58+ TRY_PARSE_JSON('{"id": ' || id_ || ', "name": "' || string_ || '"}') AS variant_doc_
5959 primary-key : id_
6060 expect : |-
6161 CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_id_` VARIANT,`variant_array_` VARIANT,`variant_doc_` VARIANT}, primaryKeys=id_, options=()}
7979 - do : Parse Variant from JSON with duplicate key rejected
8080 projection : |-
8181 id_
82- PARSE_JSON('{\ "id\ ": 1, \ "id\ ": 2}') AS variant_
82+ PARSE_JSON('{"id": 1, "id": 2}') AS variant_
8383 primary-key : id_
8484 expect-error : ' org.apache.flink.cdc.common.types.variant.VariantTypeException: VARIANT_DUPLICATE_KEY'
8585- do : Parse Variant from JSON with duplicate key allowed
8686 projection : |-
8787 id_
88- PARSE_JSON('{\ "id\ ": 1, \ "id\ ": 2}', TRUE) AS variant_
88+ PARSE_JSON('{"id": 1, "id": 2}', TRUE) AS variant_
8989 primary-key : id_
9090 expect : |-
9191 CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_` VARIANT}, primaryKeys=id_, options=()}
9797 - do : Try Parse Variant from JSON with duplicate key rejected
9898 projection : |-
9999 id_
100- TRY_PARSE_JSON('{\ "id\ ": 1, \ "id\ ": 2}') AS variant_
100+ TRY_PARSE_JSON('{"id": 1, "id": 2}') AS variant_
101101 primary-key : id_
102102 expect : |-
103103 CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_` VARIANT}, primaryKeys=id_, options=()}
109109 - do : Try Parse Variant from JSON with duplicate key allowed
110110 projection : |-
111111 id_
112- TRY_PARSE_JSON('{\ "id\ ": 1, \ "id\ ": 2}', TRUE) AS variant_
112+ TRY_PARSE_JSON('{"id": 1, "id": 2}', TRUE) AS variant_
113113 primary-key : id_
114114 expect : |-
115115 CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_` VARIANT}, primaryKeys=id_, options=()}
283283 expect : |-
284284 CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`complex_row_` ROW<`name` STRING, `length` INT>}, primaryKeys=id_, options=()}
285285 DataChangeEvent{tableId=foo.bar.baz, before=[1, {name: STRING -> Alice, length: INT -> 5}], after=[-1, {name: STRING -> Derrida, length: INT -> 7}], op=UPDATE, meta=()}
286- DataChangeEvent{tableId=foo.bar.baz, before=[-1, {name: STRING -> Derrida, length: INT -> 7}], after=[], op=DELETE, meta=()}
286+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, {name: STRING -> Derrida, length: INT -> 7}], after=[], op=DELETE, meta=()}
287+ - do : Variant Object Subscripting With String Key
288+ projection : |-
289+ id_
290+ variant_
291+ variant_['k'] AS variant_k
292+ primary-key : id_
293+ expect : |-
294+ CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_` VARIANT,`variant_k` VARIANT}, primaryKeys=id_, options=()}
295+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, {"array":[1,2,{"kk":1.123}],"k":1,"object":{"k":"hello"}}, 1], op=INSERT, meta=()}
296+ DataChangeEvent{tableId=foo.bar.baz, before=[1, {"array":[1,2,{"kk":1.123}],"k":1,"object":{"k":"hello"}}, 1], after=[-1, [{"k":1},"hello",{"k":2}], null], op=UPDATE, meta=()}
297+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, [{"k":1},"hello",{"k":2}], null], after=[], op=DELETE, meta=()}
298+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
299+ DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
300+ - do : Variant Array Subscripting With Integer Index
301+ projection : |-
302+ id_
303+ variant_
304+ variant_[1] AS variant_first
305+ variant_[2] AS variant_second
306+ primary-key : id_
307+ expect : |-
308+ CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`variant_` VARIANT,`variant_first` VARIANT,`variant_second` VARIANT}, primaryKeys=id_, options=()}
309+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, {"array":[1,2,{"kk":1.123}],"k":1,"object":{"k":"hello"}}, null, null], op=INSERT, meta=()}
310+ DataChangeEvent{tableId=foo.bar.baz, before=[1, {"array":[1,2,{"kk":1.123}],"k":1,"object":{"k":"hello"}}, null, null], after=[-1, [{"k":1},"hello",{"k":2}], {"k":1}, "hello"], op=UPDATE, meta=()}
311+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, [{"k":1},"hello",{"k":2}], {"k":1}, "hello"], after=[], op=DELETE, meta=()}
312+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null, null], op=INSERT, meta=()}
313+ DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null, null], after=[], op=DELETE, meta=()}
314+ - do : Variant Nested Subscripting
315+ projection : |-
316+ id_
317+ variant_['object']['k'] AS nested_object_k
318+ variant_['array'][1] AS nested_array_first
319+ primary-key : id_
320+ expect : |-
321+ CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`nested_object_k` VARIANT,`nested_array_first` VARIANT}, primaryKeys=id_, options=()}
322+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, "hello", 1], op=INSERT, meta=()}
323+ DataChangeEvent{tableId=foo.bar.baz, before=[1, "hello", 1], after=[-1, null, null], op=UPDATE, meta=()}
324+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, null, null], after=[], op=DELETE, meta=()}
325+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
326+ DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
327+ - do : Variant Subscripting With Absent Key
328+ projection : |-
329+ id_
330+ variant_['nonexistent'] AS absent_key
331+ variant_[1000] AS absent_index
332+ primary-key : id_
333+ expect : |-
334+ CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`absent_key` VARIANT,`absent_index` VARIANT}, primaryKeys=id_, options=()}
335+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, null, null], op=INSERT, meta=()}
336+ DataChangeEvent{tableId=foo.bar.baz, before=[1, null, null], after=[-1, null, null], op=UPDATE, meta=()}
337+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, null, null], after=[], op=DELETE, meta=()}
338+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
339+ DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
340+ - do : Variant Subscripting With Parsed JSON
341+ projection : |-
342+ id_
343+ PARSE_JSON('[1, 2, 3]')[2] AS array_second
344+ PARSE_JSON('[10, 20, 30]')[1] AS array_first
345+ primary-key : id_
346+ expect : |-
347+ CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`array_second` VARIANT,`array_first` VARIANT}, primaryKeys=id_, options=()}
348+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, 2, 10], op=INSERT, meta=()}
349+ DataChangeEvent{tableId=foo.bar.baz, before=[1, 2, 10], after=[-1, 2, 10], op=UPDATE, meta=()}
350+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, 2, 10], after=[], op=DELETE, meta=()}
351+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, 2, 10], op=INSERT, meta=()}
352+ DataChangeEvent{tableId=foo.bar.baz, before=[0, 2, 10], after=[], op=DELETE, meta=()}
353+ - do : Variant Subscripting With Parsed JSON Object
354+ projection : |-
355+ id_
356+ PARSE_JSON('{"key": "value"}')['key'] AS json_key
357+ PARSE_JSON('{"nested": {"inner": 42}}')['nested']['inner'] AS nested_value
358+ primary-key : id_
359+ expect : |-
360+ CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`json_key` VARIANT,`nested_value` VARIANT}, primaryKeys=id_, options=()}
361+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, "value", 42], op=INSERT, meta=()}
362+ DataChangeEvent{tableId=foo.bar.baz, before=[1, "value", 42], after=[-1, "value", 42], op=UPDATE, meta=()}
363+ DataChangeEvent{tableId=foo.bar.baz, before=[-1, "value", 42], after=[], op=DELETE, meta=()}
364+ DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, "value", 42], op=INSERT, meta=()}
365+ DataChangeEvent{tableId=foo.bar.baz, before=[0, "value", 42], after=[], op=DELETE, meta=()}
0 commit comments