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