You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#37 adds "subscription hints", which are passed to the control plane via templates. This is useful for things like kafka.numPartitions which are specific to the control plane.
For more advanced use-cases, we need the planner (i.e. PipelineRel etc) to have access to "hints" as well. This would enable users to influence the output (Flink) SQL generated for a pipeline. For example, hints could be used to dynamically enable/disable specific planner rules.
In the DDL, we should support Calcite hints (e.g. /*+OPTIONS(foo=bar)*/). This seems to require forking Calcite, or at least copy-pasting a substantial chunk of it, because Calcite's JDBC driver does not provide a mechanism for registering custom hints (or really any hints). Alternatively, we could wrap our planner in a Calcite Framework, which does support custom hints.
Flink SQL also supports Calcite hints, tho I don't think we need to leverage them here. Our hints should get passed through as connector configuration via WITH (foo = bar).
#37 adds "subscription hints", which are passed to the control plane via templates. This is useful for things like
kafka.numPartitions
which are specific to the control plane.For more advanced use-cases, we need the planner (i.e.
PipelineRel
etc) to have access to "hints" as well. This would enable users to influence the output (Flink) SQL generated for a pipeline. For example, hints could be used to dynamically enable/disable specific planner rules.Calcite has a concept of "contexts" which might be useful here. See: https://calcite.apache.org/javadocAggregate/org/apache/calcite/plan/Context.html
The text was updated successfully, but these errors were encountered: