Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
A more detailed description can be found in FLIP-32.
This issue is an umbrella issue for tasks related to the setup of a basic, unified planner framework for introducing new Blink features (in both batch and streaming).
It includes tasks such as:
- Introduction of flink-table-planner-blink and flink-table-runtime-blink modules
- Addition of a planner implementation that matches the interfaces introduced in
FLINK-11452 - Addition of basic planner components such as
- optimizer
- statistics
- costs
- code generator for expressions
Types are converted between Blink's and Flink's current type system until the type system has been reworked. Unsupported operators and calls will throw hard exceptions for now.
Attachments
Issue Links
- is a parent of
-
FLINK-11679 Create Blink SQL planner and runtime modules
- Closed
-
FLINK-11680 Make query plan easier to read
- Closed
-
FLINK-11685 Add plan test infrastructure
- Closed
-
FLINK-11701 Introduce an abstract set of data formats
- Closed
-
FLINK-11702 Introduce a new table type system: InternalType
- Closed
-
FLINK-11703 Introduce TableEnvironment and support registerDataStream and sqlQuery
- Closed
-
FLINK-11711 Add table and column stats
- Closed
-
FLINK-11714 Add cost model for both batch and streaming
- Closed
-
FLINK-11715 Add optimize program to organize optimization phases
- Closed
-
FLINK-11788 Support Code Generation for RexNode
- Closed
-
FLINK-11790 Introduce FlinkRelNode interface and FlinkConventions
- Closed
-
FLINK-11795 Introduce DataStream nodes and converter rules for batch and stream
- Closed
-
FLINK-11802 Create TypeInfo and TypeSerializer for blink data format
- Closed
-
FLINK-11803 Improve FlinkTypeFactory for Blink
- Closed
-
FLINK-11822 Introduce Flink metadata handlers
- Closed
-
FLINK-11827 Introduce DataFormatConverters to convert internal data format and java format
- Closed
-
FLINK-11830 Introduce CodeGeneratorContext to maintain reusable statements for code generation
- Closed
-
FLINK-11834 Introduce flink logical relational nodes
- Closed
-
FLINK-11839 Introduce FlinkLogicalWindowAggregate
- Closed
-
FLINK-11840 Introduce FlinkLogicalSnapshot
- Closed
-
FLINK-11841 Introduce FlinkLogicalSemiJoin
- Closed
-
FLINK-11842 Introduce FlinkLogicalMatch
- Closed
-
FLINK-11854 Introduce batch physical nodes
- Closed
-
FLINK-11896 Introduce stream physical nodes
- Closed
-
FLINK-11898 Support code generation for all Blink built-in functions and operators
- Closed
-
FLINK-11932 Add support for generating optimized logical plan for 'select * from mytable'
- Closed
-
FLINK-11949 Introduce DeclarativeAggregateFunction and AggsHandlerCodeGenerator to blink planner
- Closed
-
FLINK-11966 Add support for generating optimized logical plan for simple query(Project, Filter, Values and Union all)
- Closed
-
FLINK-12018 Add support for generating optimized logical plan for Sort and Rank
- Closed
-
FLINK-12076 Add support for generating optimized logical plan for simple group aggregate on batch
- Closed
-
FLINK-12079 Add support for generating optimized logical plan for join on batch
- Closed
-
FLINK-12098 Add support for generating optimized logical plan for simple group aggregate on stream
- Closed
-
FLINK-12161 Supports partial-final optimization for stream group aggregate
- Closed
-
FLINK-12170 Add support for generating optimized logical plan for Over aggregate
- Closed
-
FLINK-12185 Add support for generating optimized logical plan for join on stream
- Closed
-
FLINK-12192 Add support for generating optimized logical plan for grouping sets and distinct aggregate
- Closed
-
FLINK-12261 Support e2e group window in blink batch
- Closed
-
FLINK-12263 Remove SINGLE_VALUE aggregate function from physical plan
- Closed
-
FLINK-12269 Support Temporal Table Join in blink planner
- Closed
-
FLINK-12288 Bump Calcite dependency to 1.19.0 in blink planner
- Closed
-
FLINK-12321 Supports sub-plan reuse
- Closed
-
FLINK-12345 Add support for generating optimized logical plan for stream window aggregate
- Closed
-
FLINK-12371 Add support for converting (NOT) IN/ (NOT) EXISTS to SemiJoin, and generating optimized logical plan
- Closed
-
FLINK-12424 Supports dag (multiple-sinks query) optimization
- Closed
-
FLINK-12487 Introduce planner rules to rewrite expression and merge calc
- Closed
-
FLINK-12509 Introduce planner rules about non semi/anti join
- Closed
-
FLINK-12519 Introduce planner rules about semi/anti join
- Closed
-
FLINK-12524 Introduce planner rules about rank
- Closed
-
FLINK-12559 Introduce metadata handlers on window aggregate
- Closed
-
FLINK-12575 Introduce planner rules to remove redundant shuffle and collation
- Closed
-
FLINK-12600 Introduce planner rules to do deterministic rewriting on RelNode
- Closed
-
FLINK-12610 Introduce planner rules about aggregate
- Closed
-
FLINK-12665 Introduce MiniBatchIntervalInferRule and watermark assigner operators
- Closed
-
FLINK-12685 Supports UNNEST query in blink planner
- Closed
-
FLINK-12703 Introduce metadata handlers on SEMI/ANTI join and lookup join
- Closed
-
FLINK-12708 Introduce new Interfaces for source and sink to make Blink runner work
- Closed
-
FLINK-12805 Introduce PartitionableTableSource for partition pruning
- Closed
-
FLINK-12815 Supports CatalogManager in blink planner
- Closed
-
FLINK-12856 Introduce planner rule to push projection into TableSource
- Closed
-
FLINK-12937 Introduce join reorder planner rules in blink planner
- Closed
-
FLINK-13082 Support MatchRecognize in blink planner
- Closed
-
FLINK-11800 Move table-planner-blink type to table-runtime-blink
- Closed
-
FLINK-11946 Introduce ExecNode
- Closed
-
FLINK-11975 Support to run a sql query : 'SELECT * FROM (VALUES (1, 2, 3)) T(a, b, c)'
- Closed
-
FLINK-11993 Introduce partitionable filesystem sink
- Closed
-
FLINK-11994 Introduce TableImpl and remove Table in flink-table-planner-blink
- Closed
-
FLINK-12073 Support appropriate precision and scale processing of Decimal in Blink SQL
- Closed
-
FLINK-12307 Support translation from StreamExecWindowJoin to StreamTransformation.
- Closed
-
FLINK-12348 Use TableConfig in API module to replace TableConfig in blink-planner-module
- Closed
-
FLINK-12374 Support translation from StreamExecTableSourceScan/BatchExecTableSourceScan to StreamTransformation.
- Closed
-
FLINK-12496 Support translation from StreamExecGroupWindowAggregate to StreamTransformation.
- Closed
-
FLINK-12734 remove getVolcanoPlanner method from FlinkOptimizeContext and RelNodeBlock does not depend on TableEnvironment
- Closed
-
FLINK-12795 Extracted creation & configuration of FrameworkConfig & RelBuilder to separate class in blink planner
- Closed
-
FLINK-12810 Support to run a TableAPI query like 'table.select('a, 'b, 'c)' in Blink runner
- Closed
-
FLINK-12888 Introduce planner rule to push filter into TableSource
- Closed
-
FLINK-12969 Remove dependencies on RelNode from TableImpl in blink planner
- Closed
-
FLINK-12971 Remove the constraint that lookup join needs a primary key or index key
- Closed
-
FLINK-12978 Support LookupableTableSource for CsvTableSource
- Closed
-
FLINK-13003 Support Temporal TableFunction Join in processing time and event time
- Closed
-
FLINK-13076 Bump Calcite dependency to 1.20.0 in blink planner
- Closed