[ https://issues.apache.org/jira/browse/FLINK-20373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242359#comment-17242359 ]
HideOnBush commented on FLINK-20373: ------------------------------------ {code:java} class ExplodeArray() extends TableFunction[AnyRef] { //FLINK SQL ARRAY<ROW> to ROW def eval(array: Array[AnyRef])(): Unit = { if (array == null) { return } array.foreach(collect) } override def getTypeInference(typeFactory: DataTypeFactory): TypeInference = { new TypeInference.Builder().inputTypeStrategy(new ArrayInputTypeStrategy()).outputTypeStrategy(new TypeStrategy { override def inferType(callContext: CallContext): Optional[DataType] = { Optional.of(callContext.getArgumentDataTypes.get(0).getChildren.get(0)) } }) }.build() } {code} I Code the UDF to Explode Flink SQL JSON Array > Flink table jsonArray access all > -------------------------------- > > Key: FLINK-20373 > URL: https://issues.apache.org/jira/browse/FLINK-20373 > Project: Flink > Issue Type: New Feature > Components: Table SQL / Client > Affects Versions: 1.11.2 > Reporter: HideOnBush > Priority: Major > > The official jsonArray is provided, and the array is also provided to access > Row elements based on the subscript. Should we also consider the length of > each jsonArray, and if the subscript is passed, the code will become longer -- This message was sent by Atlassian Jira (v8.3.4#803005)