gitextract_amrzktuf/ ├── .gitignore ├── README.md ├── flink-examples-1.10/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── flink/ │ └── examples/ │ └── sql/ │ └── _07/ │ └── query/ │ └── _06_joins/ │ └── _02_interval_joins/ │ └── _01_outer_join/ │ ├── WindowJoinFunction$46.java │ └── _06_Interval_Outer_Joins_EventTime_Test.java ├── flink-examples-1.12/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── flink/ │ └── examples/ │ ├── datastream/ │ │ └── _07/ │ │ └── query/ │ │ └── _04_window/ │ │ └── _04_TumbleWindowTest.java │ └── sql/ │ └── _07/ │ └── query/ │ └── _04_window_agg/ │ ├── _04_TumbleWindowTest.java │ ├── _04_TumbleWindowTest_GroupingWindowAggsHandler$59.java │ ├── _04_TumbleWindowTest_KeyProjection$69.java │ └── _04_TumbleWindowTest_WatermarkGenerator$6.java ├── flink-examples-1.13/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── flink/ │ │ │ ├── core/ │ │ │ │ └── source/ │ │ │ │ ├── JaninoUtils.java │ │ │ │ └── SourceFactory.java │ │ │ └── examples/ │ │ │ ├── FlinkEnvUtils.java │ │ │ ├── JacksonUtils.java │ │ │ ├── datastream/ │ │ │ │ ├── _01/ │ │ │ │ │ └── bytedance/ │ │ │ │ │ └── split/ │ │ │ │ │ ├── codegen/ │ │ │ │ │ │ ├── JaninoUtils.java │ │ │ │ │ │ └── benchmark/ │ │ │ │ │ │ └── Benchmark.java │ │ │ │ │ ├── job/ │ │ │ │ │ │ ├── SplitExampleJob.java │ │ │ │ │ │ └── start.sh │ │ │ │ │ ├── kafka/ │ │ │ │ │ │ ├── KafkaProducerCenter.java │ │ │ │ │ │ └── demo/ │ │ │ │ │ │ ├── Application.java │ │ │ │ │ │ ├── ConsumerThread.java │ │ │ │ │ │ └── ProducerThread.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── ClientLogSink.java │ │ │ │ │ │ ├── ClientLogSource.java │ │ │ │ │ │ ├── DynamicProducerRule.java │ │ │ │ │ │ └── Evaluable.java │ │ │ │ │ └── zkconfigcenter/ │ │ │ │ │ ├── ZkBasedConfigCenter.java │ │ │ │ │ ├── new.json │ │ │ │ │ └── old.json │ │ │ │ ├── _02/ │ │ │ │ │ ├── DataStreamTest.java │ │ │ │ │ └── DataStreamTest1.java │ │ │ │ ├── _03/ │ │ │ │ │ ├── enums_state/ │ │ │ │ │ │ ├── EnumsStateTest.java │ │ │ │ │ │ └── SenerioTest.java │ │ │ │ │ └── state/ │ │ │ │ │ ├── StateExamplesTest.java │ │ │ │ │ ├── _01_broadcast_state/ │ │ │ │ │ │ └── BroadcastStateTest.java │ │ │ │ │ ├── _03_rocksdb/ │ │ │ │ │ │ ├── CreateStateBackendTest.java │ │ │ │ │ │ ├── GettingStartDemo.java │ │ │ │ │ │ ├── Rocksdb_OperatorAndKeyedState_StateStorageDIr_Test.java │ │ │ │ │ │ ├── keyed_state/ │ │ │ │ │ │ │ ├── RocksBackendKeyedMapStateTest.java │ │ │ │ │ │ │ └── RocksBackendKeyedValueStateTest.java │ │ │ │ │ │ └── operator_state/ │ │ │ │ │ │ ├── KeyedStreamOperatorListStateTest.java │ │ │ │ │ │ └── RocksBackendOperatorListStateTest.java │ │ │ │ │ ├── _04_filesystem/ │ │ │ │ │ │ ├── keyed_state/ │ │ │ │ │ │ │ └── FsStateBackendKeyedMapStateTest.java │ │ │ │ │ │ └── operator_state/ │ │ │ │ │ │ └── FsStateBackendOperatorListStateTest.java │ │ │ │ │ └── _05_memory/ │ │ │ │ │ └── keyed_state/ │ │ │ │ │ └── MemoryStateBackendKeyedMapStateTest.java │ │ │ │ ├── _04/ │ │ │ │ │ └── keyed_co_process/ │ │ │ │ │ ├── HashMapTest.java │ │ │ │ │ └── _04_KeyedCoProcessFunctionTest.java │ │ │ │ ├── _05_ken/ │ │ │ │ │ └── _01_watermark/ │ │ │ │ │ └── WatermarkTest.java │ │ │ │ ├── _06_test/ │ │ │ │ │ └── _01_event_proctime/ │ │ │ │ │ ├── OneJobWIthProcAndEventTimeWIndowTest.java │ │ │ │ │ └── OneJobWIthTimerTest.java │ │ │ │ ├── _07_lambda_error/ │ │ │ │ │ └── LambdaErrorTest.java │ │ │ │ ├── _08_late_record/ │ │ │ │ │ └── LatenessTest.java │ │ │ │ ├── _09_join/ │ │ │ │ │ ├── _01_window_join/ │ │ │ │ │ │ └── _01_Window_Join_Test.java │ │ │ │ │ └── _02_connect/ │ │ │ │ │ └── _01_Connect_Test.java │ │ │ │ └── _10_agg/ │ │ │ │ └── AggTest.java │ │ │ ├── practice/ │ │ │ │ └── _01/ │ │ │ │ └── dau/ │ │ │ │ └── _01_DataStream_Session_Window.java │ │ │ ├── question/ │ │ │ │ ├── datastream/ │ │ │ │ │ └── _01/ │ │ │ │ │ └── kryo_protobuf_no_more_bytes_left/ │ │ │ │ │ └── KryoProtobufNoMoreBytesLeftTest.java │ │ │ │ └── sql/ │ │ │ │ └── _01/ │ │ │ │ └── lots_source_fields_poor_performance/ │ │ │ │ ├── EmbeddedKafka.java │ │ │ │ ├── _01_DataGenSourceTest.java │ │ │ │ └── _01_JsonSourceTest.java │ │ │ ├── runtime/ │ │ │ │ ├── _01/ │ │ │ │ │ └── future/ │ │ │ │ │ ├── CompletableFutureTest.java │ │ │ │ │ ├── CompletableFutureTest4.java │ │ │ │ │ ├── CompletableFuture_AnyOf_Test3.java │ │ │ │ │ ├── CompletableFuture_ThenApplyAsync_Test2.java │ │ │ │ │ ├── CompletableFuture_ThenComposeAsync_Test2.java │ │ │ │ │ └── FutureTest.java │ │ │ │ └── _04/ │ │ │ │ └── statebackend/ │ │ │ │ └── CancelAndRestoreWithCheckpointTest.java │ │ │ └── sql/ │ │ │ ├── _01/ │ │ │ │ └── countdistincterror/ │ │ │ │ ├── CountDistinctErrorTest.java │ │ │ │ ├── CountDistinctErrorTest2.java │ │ │ │ ├── CountDistinctErrorTest3.java │ │ │ │ └── udf/ │ │ │ │ ├── Mod_UDF.java │ │ │ │ ├── StatusMapper1_UDF.java │ │ │ │ └── StatusMapper_UDF.java │ │ │ ├── _02/ │ │ │ │ └── timezone/ │ │ │ │ ├── TimeZoneTest.java │ │ │ │ ├── TimeZoneTest2.java │ │ │ │ └── TimeZoneTest3.java │ │ │ ├── _03/ │ │ │ │ └── source_sink/ │ │ │ │ ├── CreateViewTest.java │ │ │ │ ├── DataStreamSourceEventTimeTest.java │ │ │ │ ├── DataStreamSourceProcessingTimeTest.java │ │ │ │ ├── KafkaSourceTest.java │ │ │ │ ├── RedisLookupTest.java │ │ │ │ ├── RedisSinkTest.java │ │ │ │ ├── SocketSourceTest.java │ │ │ │ ├── TableApiKafkaSourceTest.java │ │ │ │ ├── UpsertKafkaSinkProtobufFormatSupportTest.java │ │ │ │ ├── UpsertKafkaSinkTest.java │ │ │ │ ├── UserDefinedSourceTest.java │ │ │ │ ├── abilities/ │ │ │ │ │ ├── sink/ │ │ │ │ │ │ ├── Abilities_SinkFunction.java │ │ │ │ │ │ ├── Abilities_TableSink.java │ │ │ │ │ │ ├── Abilities_TableSinkFactory.java │ │ │ │ │ │ └── _01_SupportsWritingMetadata_Test.java │ │ │ │ │ └── source/ │ │ │ │ │ ├── Abilities_SourceFunction.java │ │ │ │ │ ├── Abilities_TableSource.java │ │ │ │ │ ├── Abilities_TableSourceFactory.java │ │ │ │ │ ├── _01_SupportsFilterPushDown_Test.java │ │ │ │ │ ├── _02_SupportsLimitPushDown_Test.java │ │ │ │ │ ├── _03_SupportsPartitionPushDown_Test.java │ │ │ │ │ ├── _04_SupportsProjectionPushDown_JDBC_Test.java │ │ │ │ │ ├── _04_SupportsProjectionPushDown_Test.java │ │ │ │ │ ├── _05_SupportsReadingMetadata_Test.java │ │ │ │ │ ├── _06_SupportsWatermarkPushDown_Test.java │ │ │ │ │ ├── _07_SupportsSourceWatermark_Test.java │ │ │ │ │ └── before/ │ │ │ │ │ ├── Before_Abilities_SourceFunction.java │ │ │ │ │ ├── Before_Abilities_TableSource.java │ │ │ │ │ ├── Before_Abilities_TableSourceFactory.java │ │ │ │ │ ├── _01_Before_SupportsFilterPushDown_Test.java │ │ │ │ │ ├── _02_Before_SupportsLimitPushDown_Test.java │ │ │ │ │ ├── _03_Before_SupportsPartitionPushDown_Test.java │ │ │ │ │ ├── _04_Before_SupportsProjectionPushDown_Test.java │ │ │ │ │ ├── _05_Before_SupportsReadingMetadata_Test.java │ │ │ │ │ ├── _06_Before_SupportsWatermarkPushDown_Test.java │ │ │ │ │ └── _07_Before_SupportsSourceWatermark_Test.java │ │ │ │ ├── ddl/ │ │ │ │ │ └── TableApiDDLTest.java │ │ │ │ └── table/ │ │ │ │ ├── redis/ │ │ │ │ │ ├── container/ │ │ │ │ │ │ ├── RedisCommandsContainer.java │ │ │ │ │ │ ├── RedisCommandsContainerBuilder.java │ │ │ │ │ │ └── RedisContainer.java │ │ │ │ │ ├── demo/ │ │ │ │ │ │ └── RedisDemo.java │ │ │ │ │ ├── mapper/ │ │ │ │ │ │ ├── LookupRedisMapper.java │ │ │ │ │ │ ├── RedisCommand.java │ │ │ │ │ │ ├── RedisCommandDescription.java │ │ │ │ │ │ └── SetRedisMapper.java │ │ │ │ │ ├── options/ │ │ │ │ │ │ ├── RedisLookupOptions.java │ │ │ │ │ │ ├── RedisOptions.java │ │ │ │ │ │ └── RedisWriteOptions.java │ │ │ │ │ ├── v1/ │ │ │ │ │ │ ├── RedisDynamicTableFactory.java │ │ │ │ │ │ ├── sink/ │ │ │ │ │ │ │ └── RedisDynamicTableSink.java │ │ │ │ │ │ └── source/ │ │ │ │ │ │ ├── RedisDynamicTableSource.java │ │ │ │ │ │ └── RedisRowDataLookupFunction.java │ │ │ │ │ └── v2/ │ │ │ │ │ ├── RedisDynamicTableFactory.java │ │ │ │ │ ├── sink/ │ │ │ │ │ │ └── RedisDynamicTableSink.java │ │ │ │ │ └── source/ │ │ │ │ │ ├── RedisDynamicTableSource.java │ │ │ │ │ ├── RedisRowDataBatchLookupFunction.java │ │ │ │ │ └── RedisRowDataLookupFunction.java │ │ │ │ ├── socket/ │ │ │ │ │ ├── SocketDynamicTableFactory.java │ │ │ │ │ ├── SocketDynamicTableSource.java │ │ │ │ │ └── SocketSourceFunction.java │ │ │ │ └── user_defined/ │ │ │ │ ├── UserDefinedDynamicTableFactory.java │ │ │ │ ├── UserDefinedDynamicTableSource.java │ │ │ │ └── UserDefinedSource.java │ │ │ ├── _04/ │ │ │ │ └── type/ │ │ │ │ ├── BlinkPlannerTest.java │ │ │ │ ├── JavaEnvTest.java │ │ │ │ └── OldPlannerTest.java │ │ │ ├── _05/ │ │ │ │ └── format/ │ │ │ │ └── formats/ │ │ │ │ ├── ProtobufFormatTest.java │ │ │ │ ├── SocketWriteTest.java │ │ │ │ ├── csv/ │ │ │ │ │ ├── ChangelogCsvDeserializer.java │ │ │ │ │ ├── ChangelogCsvFormat.java │ │ │ │ │ └── ChangelogCsvFormatFactory.java │ │ │ │ ├── protobuf/ │ │ │ │ │ ├── descriptors/ │ │ │ │ │ │ ├── Protobuf.java │ │ │ │ │ │ └── ProtobufValidator.java │ │ │ │ │ ├── row/ │ │ │ │ │ │ ├── ProtobufDeserializationSchema.java │ │ │ │ │ │ ├── ProtobufRowDeserializationSchema.java │ │ │ │ │ │ ├── ProtobufRowFormatFactory.java │ │ │ │ │ │ ├── ProtobufRowSerializationSchema.java │ │ │ │ │ │ ├── ProtobufSerializationSchema.java │ │ │ │ │ │ ├── ProtobufUtils.java │ │ │ │ │ │ └── typeutils/ │ │ │ │ │ │ └── ProtobufSchemaConverter.java │ │ │ │ │ └── rowdata/ │ │ │ │ │ ├── ProtobufFormatFactory.java │ │ │ │ │ ├── ProtobufOptions.java │ │ │ │ │ ├── ProtobufRowDataDeserializationSchema.java │ │ │ │ │ ├── ProtobufRowDataSerializationSchema.java │ │ │ │ │ ├── ProtobufToRowDataConverters.java │ │ │ │ │ └── RowDataToProtobufConverters.java │ │ │ │ └── utils/ │ │ │ │ ├── MoreRunnables.java │ │ │ │ ├── MoreSuppliers.java │ │ │ │ ├── ThrowableRunable.java │ │ │ │ └── ThrowableSupplier.java │ │ │ ├── _06/ │ │ │ │ └── calcite/ │ │ │ │ ├── CalciteTest.java │ │ │ │ ├── ParserTest.java │ │ │ │ └── javacc/ │ │ │ │ ├── JavaccCodeGenTest.java │ │ │ │ ├── Simple1Test.java │ │ │ │ └── generatedcode/ │ │ │ │ ├── ParseException.java │ │ │ │ ├── Simple1.java │ │ │ │ ├── Simple1Constants.java │ │ │ │ ├── Simple1TokenManager.java │ │ │ │ ├── SimpleCharStream.java │ │ │ │ ├── Token.java │ │ │ │ └── TokenMgrError.java │ │ │ ├── _07/ │ │ │ │ └── query/ │ │ │ │ ├── _01_select_where/ │ │ │ │ │ ├── SelectWhereHiveDialect.java │ │ │ │ │ ├── SelectWhereTest.java │ │ │ │ │ ├── SelectWhereTest2.java │ │ │ │ │ ├── SelectWhereTest3.java │ │ │ │ │ ├── SelectWhereTest4.java │ │ │ │ │ ├── SelectWhereTest5.java │ │ │ │ │ └── StreamExecCalc$10.java │ │ │ │ ├── _02_select_distinct/ │ │ │ │ │ ├── GroupAggsHandler$5.java │ │ │ │ │ ├── KeyProjection$0.java │ │ │ │ │ ├── SelectDistinctTest.java │ │ │ │ │ └── SelectDistinctTest2.java │ │ │ │ ├── _03_group_agg/ │ │ │ │ │ ├── _01_group_agg/ │ │ │ │ │ │ ├── GroupAggMiniBatchTest.java │ │ │ │ │ │ ├── GroupAggTest.java │ │ │ │ │ │ └── GroupAggsHandler$39.java │ │ │ │ │ ├── _02_count_distinct/ │ │ │ │ │ │ ├── CountDistinctGroupAggTest.java │ │ │ │ │ │ └── GroupAggsHandler$17.java │ │ │ │ │ ├── _03_grouping_sets/ │ │ │ │ │ │ ├── GroupingSetsEqualsGroupAggUnionAllGroupAggTest2.java │ │ │ │ │ │ ├── GroupingSetsGroupAggTest.java │ │ │ │ │ │ ├── GroupingSetsGroupAggTest2.java │ │ │ │ │ │ └── StreamExecExpand$20.java │ │ │ │ │ ├── _04_cube/ │ │ │ │ │ │ ├── CubeGroupAggTest.java │ │ │ │ │ │ └── CubeGroupAggTest2.java │ │ │ │ │ └── _05_rollup/ │ │ │ │ │ ├── RollUpGroupAggTest.java │ │ │ │ │ └── RollUpGroupAggTest2.java │ │ │ │ ├── _04_window_agg/ │ │ │ │ │ ├── _01_tumble_window/ │ │ │ │ │ │ ├── TumbleWindow2GroupAggTest.java │ │ │ │ │ │ ├── TumbleWindowTest.java │ │ │ │ │ │ ├── TumbleWindowTest2.java │ │ │ │ │ │ ├── TumbleWindowTest3.java │ │ │ │ │ │ ├── TumbleWindowTest4.java │ │ │ │ │ │ ├── TumbleWindowTest5.java │ │ │ │ │ │ ├── global_agg/ │ │ │ │ │ │ │ ├── GlobalWindowAggsHandler$232.java │ │ │ │ │ │ │ ├── LocalWindowAggsHandler$162.java │ │ │ │ │ │ │ └── StateWindowAggsHandler$300.java │ │ │ │ │ │ └── local_agg/ │ │ │ │ │ │ ├── KeyProjection$89.java │ │ │ │ │ │ └── LocalWindowAggsHandler$88.java │ │ │ │ │ ├── _02_cumulate_window/ │ │ │ │ │ │ ├── CumulateWindowGroupingSetsBigintTest.java │ │ │ │ │ │ ├── CumulateWindowGroupingSetsTest.java │ │ │ │ │ │ ├── CumulateWindowTest.java │ │ │ │ │ │ ├── TumbleWindowEarlyFireTest.java │ │ │ │ │ │ ├── cumulate/ │ │ │ │ │ │ │ ├── global_agg/ │ │ │ │ │ │ │ │ ├── GlobalWindowAggsHandler$232.java │ │ │ │ │ │ │ │ ├── KeyProjection$301.java │ │ │ │ │ │ │ │ ├── LocalWindowAggsHandler$162.java │ │ │ │ │ │ │ │ └── StateWindowAggsHandler$300.java │ │ │ │ │ │ │ └── local_agg/ │ │ │ │ │ │ │ ├── KeyProjection$89.java │ │ │ │ │ │ │ └── LocalWindowAggsHandler$88.java │ │ │ │ │ │ └── earlyfire/ │ │ │ │ │ │ ├── GroupAggsHandler$210.java │ │ │ │ │ │ └── GroupingWindowAggsHandler$57.java │ │ │ │ │ └── _03_hop_window/ │ │ │ │ │ └── HopWindowGroupWindowAggTest.java │ │ │ │ ├── _05_over/ │ │ │ │ │ ├── _01_row_number/ │ │ │ │ │ │ ├── RowNumberOrderByBigintTest.java │ │ │ │ │ │ ├── RowNumberOrderByStringTest.java │ │ │ │ │ │ ├── RowNumberOrderByUnixTimestampTest.java │ │ │ │ │ │ ├── RowNumberWithoutPartitionKeyTest.java │ │ │ │ │ │ ├── RowNumberWithoutRowNumberEqual1Test.java │ │ │ │ │ │ └── Scalar_UDF.java │ │ │ │ │ └── _02_agg/ │ │ │ │ │ ├── RangeIntervalProctimeTest.java │ │ │ │ │ ├── RangeIntervalRowtimeAscendingTest.java │ │ │ │ │ ├── RangeIntervalRowtimeBoundedOutOfOrdernessTest.java │ │ │ │ │ ├── RangeIntervalRowtimeStrictlyAscendingTest.java │ │ │ │ │ └── RowIntervalTest.java │ │ │ │ ├── _06_joins/ │ │ │ │ │ ├── _01_regular_joins/ │ │ │ │ │ │ ├── _01_inner_join/ │ │ │ │ │ │ │ ├── ConditionFunction$4.java │ │ │ │ │ │ │ ├── _01_InnerJoinsTest.java │ │ │ │ │ │ │ └── _02_InnerJoinsOnNotEqualTest.java │ │ │ │ │ │ └── _02_outer_join/ │ │ │ │ │ │ ├── _01_LeftJoinsTest.java │ │ │ │ │ │ ├── _02_RightJoinsTest.java │ │ │ │ │ │ └── _03_FullJoinsTest.java │ │ │ │ │ ├── _02_interval_joins/ │ │ │ │ │ │ ├── _01_proctime/ │ │ │ │ │ │ │ ├── Interval_Full_Joins_ProcesingTime_Test.java │ │ │ │ │ │ │ ├── Interval_Inner_Joins_ProcesingTime_Test.java │ │ │ │ │ │ │ ├── Interval_Left_Joins_ProcesingTime_Test.java │ │ │ │ │ │ │ └── Interval_Right_Joins_ProcesingTime_Test.java │ │ │ │ │ │ └── _02_row_time/ │ │ │ │ │ │ ├── Interval_Full_JoinsOnNotEqual_EventTime_Test.java │ │ │ │ │ │ ├── Interval_Full_Joins_EventTime_Test.java │ │ │ │ │ │ ├── Interval_Inner_Joins_EventTime_Test.java │ │ │ │ │ │ ├── Interval_Left_Joins_EventTime_Test.java │ │ │ │ │ │ └── Interval_Right_Joins_EventTime_Test.java │ │ │ │ │ ├── _03_temporal_join/ │ │ │ │ │ │ ├── _01_proctime/ │ │ │ │ │ │ │ └── Temporal_Join_ProcesingTime_Test.java │ │ │ │ │ │ └── _02_row_time/ │ │ │ │ │ │ └── Temporal_Join_EventTime_Test.java │ │ │ │ │ ├── _04_lookup_join/ │ │ │ │ │ │ └── _01_redis/ │ │ │ │ │ │ ├── RedisBatchLookupTest2.java │ │ │ │ │ │ ├── RedisDemo.java │ │ │ │ │ │ ├── RedisLookupTest.java │ │ │ │ │ │ ├── RedisLookupTest2.java │ │ │ │ │ │ └── pipeline/ │ │ │ │ │ │ ├── BatchJoinTableFuncCollector$8.java │ │ │ │ │ │ ├── BatchLookupFunction$4.java │ │ │ │ │ │ ├── JoinTableFuncCollector$8.java │ │ │ │ │ │ ├── JoinTableFuncCollector$9.java │ │ │ │ │ │ ├── LookupFunction$4.java │ │ │ │ │ │ ├── LookupFunction$5.java │ │ │ │ │ │ └── T1.java │ │ │ │ │ ├── _05_array_expansion/ │ │ │ │ │ │ └── _01_ArrayExpansionTest.java │ │ │ │ │ └── _06_table_function/ │ │ │ │ │ └── _01_inner_join/ │ │ │ │ │ ├── TableFunctionInnerJoin_Test.java │ │ │ │ │ └── TableFunctionInnerJoin_WithEmptyTableFunction_Test.java │ │ │ │ ├── _07_deduplication/ │ │ │ │ │ ├── DeduplicationProcessingTimeTest.java │ │ │ │ │ ├── DeduplicationProcessingTimeTest1.java │ │ │ │ │ └── DeduplicationRowTimeTest.java │ │ │ │ ├── _08_datastream_trans/ │ │ │ │ │ ├── AlertExample.java │ │ │ │ │ ├── AlertExampleRetract.java │ │ │ │ │ ├── AlertExampleRetractError.java │ │ │ │ │ ├── RetractExample.java │ │ │ │ │ └── Test.java │ │ │ │ ├── _09_set_operations/ │ │ │ │ │ ├── Except_Test.java │ │ │ │ │ ├── Exist_Test.java │ │ │ │ │ ├── In_Test.java │ │ │ │ │ ├── Intersect_Test.java │ │ │ │ │ ├── UnionAll_Test.java │ │ │ │ │ └── Union_Test.java │ │ │ │ ├── _10_order_by/ │ │ │ │ │ ├── OrderBy_with_time_attr_Test.java │ │ │ │ │ └── OrderBy_without_time_attr_Test.java │ │ │ │ ├── _11_limit/ │ │ │ │ │ └── Limit_Test.java │ │ │ │ ├── _12_topn/ │ │ │ │ │ └── TopN_Test.java │ │ │ │ ├── _13_window_topn/ │ │ │ │ │ └── WindowTopN_Test.java │ │ │ │ ├── _14_retract/ │ │ │ │ │ └── Retract_Test.java │ │ │ │ ├── _15_exec_options/ │ │ │ │ │ ├── Default_Parallelism_Test.java │ │ │ │ │ ├── Idle_Timeout_Test.java │ │ │ │ │ └── State_Ttl_Test.java │ │ │ │ ├── _16_optimizer_options/ │ │ │ │ │ ├── Agg_OnePhase_Strategy_window_Test.java │ │ │ │ │ ├── Agg_TwoPhase_Strategy_unbounded_Test.java │ │ │ │ │ ├── Agg_TwoPhase_Strategy_window_Test.java │ │ │ │ │ ├── DistinctAgg_Split_One_Distinct_Key_Test.java │ │ │ │ │ └── DistinctAgg_Split_Two_Distinct_Key_Test.java │ │ │ │ ├── _17_table_options/ │ │ │ │ │ ├── Dml_Syc_False_Test.java │ │ │ │ │ ├── Dml_Syc_True_Test.java │ │ │ │ │ └── TimeZone_window_Test.java │ │ │ │ └── _18_performance_tuning/ │ │ │ │ └── Count_Distinct_Filter_Test.java │ │ │ ├── _08/ │ │ │ │ └── batch/ │ │ │ │ ├── Utils.java │ │ │ │ ├── _01_ddl/ │ │ │ │ │ └── HiveDDLTest.java │ │ │ │ ├── _02_dml/ │ │ │ │ │ ├── HiveDMLBetweenAndTest.java │ │ │ │ │ ├── HiveDMLTest.java │ │ │ │ │ ├── HiveTest2.java │ │ │ │ │ ├── _01_hive_dialect/ │ │ │ │ │ │ └── HiveDMLTest.java │ │ │ │ │ ├── _02_with_as/ │ │ │ │ │ │ └── HIveWIthAsTest.java │ │ │ │ │ ├── _03_substr/ │ │ │ │ │ │ └── HiveSubstrTest.java │ │ │ │ │ ├── _04_tumble_window/ │ │ │ │ │ │ ├── Test.java │ │ │ │ │ │ ├── Test1.java │ │ │ │ │ │ ├── Test2_BIGINT_SOURCE.java │ │ │ │ │ │ ├── Test3.java │ │ │ │ │ │ └── Test5.java │ │ │ │ │ ├── _05_batch_to_datastream/ │ │ │ │ │ │ └── Test.java │ │ │ │ │ └── _06_select_where/ │ │ │ │ │ └── Test.java │ │ │ │ ├── _03_hive_udf/ │ │ │ │ │ ├── HiveModuleV2.java │ │ │ │ │ ├── HiveUDFRegistryTest.java │ │ │ │ │ ├── HiveUDFRegistryUnloadTest.java │ │ │ │ │ ├── _01_GenericUDAFResolver2/ │ │ │ │ │ │ ├── HiveUDAF_hive_module_registry_Test.java │ │ │ │ │ │ ├── HiveUDAF_sql_registry_create_function_Test.java │ │ │ │ │ │ ├── HiveUDAF_sql_registry_create_temporary_function_Test.java │ │ │ │ │ │ └── TestHiveUDAF.java │ │ │ │ │ ├── _02_GenericUDTF/ │ │ │ │ │ │ ├── HiveUDTF_hive_module_registry_Test.java │ │ │ │ │ │ ├── HiveUDTF_sql_registry_create_function_Test.java │ │ │ │ │ │ ├── HiveUDTF_sql_registry_create_temporary_function_Test.java │ │ │ │ │ │ └── TestHiveUDTF.java │ │ │ │ │ ├── _03_built_in_udf/ │ │ │ │ │ │ ├── _01_get_json_object/ │ │ │ │ │ │ │ └── HiveUDF_get_json_object_Test.java │ │ │ │ │ │ └── _02_rlike/ │ │ │ │ │ │ └── HiveUDF_rlike_Test.java │ │ │ │ │ └── _04_GenericUDF/ │ │ │ │ │ ├── HiveUDF_hive_module_registry_Test.java │ │ │ │ │ ├── HiveUDF_sql_registry_create_function_Test.java │ │ │ │ │ ├── HiveUDF_sql_registry_create_temporary_function_Test.java │ │ │ │ │ └── TestGenericUDF.java │ │ │ │ ├── _04_flink_udf/ │ │ │ │ │ ├── FlinkUDAF_Test.java │ │ │ │ │ ├── FlinkUDF_Test.java │ │ │ │ │ └── FlinkUDTF_Test.java │ │ │ │ └── _05_test/ │ │ │ │ └── _01_batch_to_datastream/ │ │ │ │ └── Test.java │ │ │ ├── _09/ │ │ │ │ └── udf/ │ │ │ │ ├── _01_hive_udf/ │ │ │ │ │ └── _01_GenericUDF/ │ │ │ │ │ ├── HiveUDF_sql_registry_create_function_Test.java │ │ │ │ │ ├── HiveUDF_sql_registry_create_function_with_hive_catalog_Test.java │ │ │ │ │ ├── HiveUDF_sql_registry_create_temporary_function_Test.java │ │ │ │ │ ├── HiveUDF_sql_registry_create_temporary_function_with_hive_catalog_Test.java │ │ │ │ │ └── TestGenericUDF.java │ │ │ │ ├── _02_stream_hive_udf/ │ │ │ │ │ ├── HiveUDF_Error_Test.java │ │ │ │ │ ├── HiveUDF_create_temporary_error_Test.java │ │ │ │ │ ├── HiveUDF_hive_module_registry_Test.java │ │ │ │ │ ├── HiveUDF_load_first_Test.java │ │ │ │ │ ├── HiveUDF_load_second_Test.java │ │ │ │ │ ├── TestGenericUDF.java │ │ │ │ │ └── UserDefinedSource.java │ │ │ │ ├── _03_advanced_type_inference/ │ │ │ │ │ ├── AdvancedFunctionsExample.java │ │ │ │ │ ├── InternalRowMergerFunction.java │ │ │ │ │ └── LastDatedValueFunction.java │ │ │ │ ├── _04_udf/ │ │ │ │ │ └── UDAF_Test.java │ │ │ │ └── _05_scalar_function/ │ │ │ │ ├── ExplodeUDTF.java │ │ │ │ ├── ExplodeUDTFV2.java │ │ │ │ ├── GetMapValue.java │ │ │ │ ├── GetSetValue.java │ │ │ │ ├── ScalarFunctionTest.java │ │ │ │ ├── ScalarFunctionTest2.java │ │ │ │ ├── SetStringUDF.java │ │ │ │ └── TableFunctionTest2.java │ │ │ ├── _10_share/ │ │ │ │ └── A.java │ │ │ ├── _11_explain/ │ │ │ │ └── Explain_Test.java │ │ │ └── _12_data_type/ │ │ │ ├── _01_interval/ │ │ │ │ ├── Timestamp3_Interval_To_Test.java │ │ │ │ └── Timestamp_ltz3_Interval_To_Test.java │ │ │ ├── _02_user_defined/ │ │ │ │ ├── User.java │ │ │ │ ├── UserDefinedDataTypes_Test.java │ │ │ │ ├── UserDefinedDataTypes_Test2.java │ │ │ │ └── UserScalarFunction.java │ │ │ └── _03_raw/ │ │ │ ├── RawScalarFunction.java │ │ │ └── Raw_DataTypes_Test2.java │ │ ├── javacc/ │ │ │ └── Simple1.jj │ │ ├── proto/ │ │ │ ├── source.proto │ │ │ └── test.proto │ │ ├── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── org.apache.flink.table.factories.Factory │ │ └── scala/ │ │ └── flink/ │ │ └── examples/ │ │ └── sql/ │ │ └── _04/ │ │ └── type/ │ │ └── TableFunc0.scala │ └── test/ │ ├── java/ │ │ └── flink/ │ │ └── examples/ │ │ └── sql/ │ │ ├── _05/ │ │ │ └── format/ │ │ │ └── formats/ │ │ │ └── protobuf/ │ │ │ ├── row/ │ │ │ │ ├── ProtobufRowDeserializationSchemaTest.java │ │ │ │ └── ProtobufRowSerializationSchemaTest.java │ │ │ └── rowdata/ │ │ │ ├── ProtobufRowDataDeserializationSchemaTest.java │ │ │ └── ProtobufRowDataSerializationSchemaTest.java │ │ ├── _06/ │ │ │ └── calcite/ │ │ │ └── CalciteTest.java │ │ └── _07/ │ │ └── query/ │ │ └── _06_joins/ │ │ └── JaninoCompileTest.java │ ├── proto/ │ │ └── person.proto │ └── scala/ │ ├── ScalaEnv.scala │ └── TableFunc0.scala ├── flink-examples-1.14/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── flink/ │ └── examples/ │ └── sql/ │ └── _08/ │ └── batch/ │ ├── HiveModuleV2.java │ └── Test.java ├── flink-examples-1.8/ │ ├── .gitignore │ └── pom.xml └── pom.xml