Skip to content

Commit 97f5b50

Browse files
committed
add FLINK-38888 related cases back
1 parent 60b6672 commit 97f5b50

1 file changed

Lines changed: 181 additions & 0 deletions

File tree

flink-cdc-composer/src/test/resources/specs/nested.yaml

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,184 @@
118118
DataChangeEvent{tableId=foo.bar.baz, before=[-1, {"id":2}], after=[], op=DELETE, meta=()}
119119
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, {"id":2}], op=INSERT, meta=()}
120120
DataChangeEvent{tableId=foo.bar.baz, before=[0, {"id":2}], after=[], op=DELETE, meta=()}
121+
- do: Integer Array Subscripting
122+
ignore: FLINK-38888
123+
projection: |-
124+
id_
125+
array_int_
126+
array_int_[4] AS sc_int_array
127+
primary-key: id_
128+
expect: |-
129+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`array_int_` ARRAY<INT>,`sc_int_array` INT}, primaryKeys=id_, options=()}
130+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, [1, 1, 2, 3, 5, 8, 13], 3], op=INSERT, meta=()}
131+
DataChangeEvent{tableId=foo.bar.baz, before=[1, [1, 1, 2, 3, 5, 8, 13], 3], after=[-1, [2, 3, 5, 7, 11, 13, 17, 19], 7], op=UPDATE, meta=()}
132+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, [2, 3, 5, 7, 11, 13, 17, 19], 7], after=[], op=DELETE, meta=()}
133+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
134+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
135+
- do: String Array Subscripting
136+
ignore: FLINK-38888
137+
projection: |-
138+
id_
139+
array_string_
140+
array_string_[4] AS sc_str_array
141+
primary-key: id_
142+
expect: |-
143+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`array_string_` ARRAY<STRING>,`sc_str_array` STRING}, primaryKeys=id_, options=()}
144+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, [one, one, two, three, five], three], op=INSERT, meta=()}
145+
DataChangeEvent{tableId=foo.bar.baz, before=[1, [one, one, two, three, five], three], after=[-1, [二, san, 五, qi, 十一], qi], op=UPDATE, meta=()}
146+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, [二, san, 五, qi, 十一], qi], after=[], op=DELETE, meta=()}
147+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
148+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
149+
- do: Array OOB Subscripting
150+
ignore: FLINK-38888
151+
projection: |-
152+
id_
153+
array_string_[0] AS negative_overflow
154+
array_string_[10000] AS positive_overflow
155+
primary-key: id_
156+
expect: |-
157+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`negative_overflow` STRING,`positive_overflow` STRING}, primaryKeys=id_, options=()}
158+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, null, null], op=INSERT, meta=()}
159+
DataChangeEvent{tableId=foo.bar.baz, before=[1, null, null], after=[-1, null, null], op=UPDATE, meta=()}
160+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, null, null], after=[], op=DELETE, meta=()}
161+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
162+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
163+
- do: Array Subscripting With Sub Expression
164+
ignore: FLINK-38888
165+
projection: |-
166+
id_
167+
array_int_[1 + 1] AS int_key
168+
array_string_[array_int_[1 + 1]] AS str_key
169+
primary-key: id_
170+
expect: |-
171+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`int_key` INT,`str_key` STRING}, primaryKeys=id_, options=()}
172+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, 1, one], op=INSERT, meta=()}
173+
DataChangeEvent{tableId=foo.bar.baz, before=[1, 1, one], after=[-1, 3, 五], op=UPDATE, meta=()}
174+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, 3, 五], after=[], op=DELETE, meta=()}
175+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
176+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
177+
- do: Filter by Array-related Expression
178+
ignore: FLINK-38888
179+
projection: id_, array_string_
180+
filter: array_string_[3] = '五'
181+
primary-key: id_
182+
expect: |-
183+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`array_string_` ARRAY<STRING>}, primaryKeys=id_, options=()}
184+
DataChangeEvent{tableId=foo.bar.baz, before=[1, [one, one, two, three, five]], after=[-1, [二, san, 五, qi, 十一]], op=UPDATE, meta=()}
185+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, [二, san, 五, qi, 十一]], after=[], op=DELETE, meta=()}
186+
- do: Map Subscripting
187+
ignore: FLINK-38888
188+
projection: |-
189+
id_
190+
map_int_string_
191+
map_int_string_[2] AS map_value
192+
primary-key: id_
193+
expect: |-
194+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`map_int_string_` MAP<INT, STRING>,`map_value` STRING}, primaryKeys=id_, options=()}
195+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, {1 -> one, 2 -> two, 3 -> three}, two], op=INSERT, meta=()}
196+
DataChangeEvent{tableId=foo.bar.baz, before=[1, {1 -> one, 2 -> two, 3 -> three}, two], after=[-1, {1 -> yi, 2 -> er, 3 -> san}, er], op=UPDATE, meta=()}
197+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, {1 -> yi, 2 -> er, 3 -> san}, er], after=[], op=DELETE, meta=()}
198+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
199+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
200+
- do: Map Subscripting with absent key
201+
ignore: FLINK-38888
202+
projection: |-
203+
id_
204+
map_int_string_[233] AS map_value
205+
primary-key: id_
206+
expect: |-
207+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`map_value` STRING}, primaryKeys=id_, options=()}
208+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, null], op=INSERT, meta=()}
209+
DataChangeEvent{tableId=foo.bar.baz, before=[1, null], after=[-1, null], op=UPDATE, meta=()}
210+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, null], after=[], op=DELETE, meta=()}
211+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null], op=INSERT, meta=()}
212+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null], after=[], op=DELETE, meta=()}
213+
- do: Map Subscripting with complex expression
214+
ignore: FLINK-38888
215+
projection: |-
216+
id_
217+
map_int_string_[1 + 2] AS map_value
218+
primary-key: id_
219+
expect: |-
220+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`map_value` STRING}, primaryKeys=id_, options=()}
221+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, three], op=INSERT, meta=()}
222+
DataChangeEvent{tableId=foo.bar.baz, before=[1, three], after=[-1, san], op=UPDATE, meta=()}
223+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, san], after=[], op=DELETE, meta=()}
224+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null], op=INSERT, meta=()}
225+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null], after=[], op=DELETE, meta=()}
226+
- do: Map Subscripting with nested expressions
227+
ignore: FLINK-38888
228+
projection: |-
229+
id_
230+
map_string_array_string_[lower('ONE')] AS index_1
231+
map_string_array_string_['o' || 'n' || 'e'][1] AS index_2
232+
primary-key: id_
233+
expect: |-
234+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`index_1` ARRAY<STRING>,`index_2` STRING}, primaryKeys=id_, options=()}
235+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, [O, N, E], O], op=INSERT, meta=()}
236+
DataChangeEvent{tableId=foo.bar.baz, before=[1, [O, N, E], O], after=[-1, null, null], op=UPDATE, meta=()}
237+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, null, null], after=[], op=DELETE, meta=()}
238+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
239+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
240+
- do: Map Subscripting With Absent Object
241+
ignore: FLINK-38888
242+
projection: |-
243+
id_
244+
map_string_array_string_['foo'] AS index_1
245+
map_string_array_string_['bar'][1] AS index_2
246+
primary-key: id_
247+
expect: |-
248+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`index_1` ARRAY<STRING>,`index_2` STRING}, primaryKeys=id_, options=()}
249+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, null, null], op=INSERT, meta=()}
250+
DataChangeEvent{tableId=foo.bar.baz, before=[1, null, null], after=[-1, null, null], op=UPDATE, meta=()}
251+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, null, null], after=[], op=DELETE, meta=()}
252+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null], op=INSERT, meta=()}
253+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null], after=[], op=DELETE, meta=()}
254+
- do: Filter by Map-related Expression
255+
ignore: FLINK-38888
256+
projection: id_, map_int_string_
257+
filter: map_int_string_[1] = 'one'
258+
primary-key: id_
259+
expect: |-
260+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`map_int_string_` MAP<INT, STRING>}, primaryKeys=id_, options=()}
261+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, {1 -> one, 2 -> two, 3 -> three}], op=INSERT, meta=()}
262+
- do: Record Subscripting With Index
263+
ignore: FLINK-38888
264+
projection: |-
265+
id_
266+
complex_row_
267+
complex_row_[1] AS name
268+
complex_row_[2] AS length
269+
primary-key: id_
270+
expect: |-
271+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`complex_row_` ROW<`name` STRING, `length` INT>,`name` STRING,`length` INT}, primaryKeys=id_, options=()}
272+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[1, {name: STRING -> Alice, length: INT -> 5}, Alice, 5], op=INSERT, meta=()}
273+
DataChangeEvent{tableId=foo.bar.baz, before=[1, {name: STRING -> Alice, length: INT -> 5}, Alice, 5], after=[-1, {name: STRING -> Derrida, length: INT -> 7}, Derrida, 7], op=UPDATE, meta=()}
274+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, {name: STRING -> Derrida, length: INT -> 7}, Derrida, 7], after=[], op=DELETE, meta=()}
275+
DataChangeEvent{tableId=foo.bar.baz, before=[], after=[0, null, null, null], op=INSERT, meta=()}
276+
DataChangeEvent{tableId=foo.bar.baz, before=[0, null, null, null], after=[], op=DELETE, meta=()}
277+
- do: Record Subscripting With Invalid Index
278+
ignore: FLINK-38888
279+
projection: |-
280+
id_
281+
complex_row_
282+
complex_row_[0] AS bad_key
283+
primary-key: id_
284+
expect-error: 'Cannot infer type of field at position 0 within ROW type: RecordType(VARCHAR(65536) name, INTEGER length)'
285+
- do: Record Subscripting With Computed Index (Illegal, type must be statically determined)
286+
ignore: FLINK-38888
287+
projection: |-
288+
id_
289+
complex_row_
290+
complex_row_[1 + 1] AS bad_key
291+
primary-key: id_
292+
expect-error: 'Cannot infer type of field at position null within ROW type: RecordType(VARCHAR(65536) name, INTEGER length)'
293+
- do: Filter by Record-related Expression
294+
ignore: FLINK-38888
295+
projection: id_, complex_row_
296+
filter: complex_row_[1] = 'Derrida'
297+
primary-key: id_
298+
expect: |-
299+
CreateTableEvent{tableId=foo.bar.baz, schema=columns={`id_` BIGINT NOT NULL 'Identifier',`complex_row_` ROW<`name` STRING, `length` INT>}, primaryKeys=id_, options=()}
300+
DataChangeEvent{tableId=foo.bar.baz, before=[1, {name: STRING -> Alice, length: INT -> 5}], after=[-1, {name: STRING -> Derrida, length: INT -> 7}], op=UPDATE, meta=()}
301+
DataChangeEvent{tableId=foo.bar.baz, before=[-1, {name: STRING -> Derrida, length: INT -> 7}], after=[], op=DELETE, meta=()}

0 commit comments

Comments
 (0)