[
https://issues.apache.org/jira/browse/BEAM-7590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alireza Samadianzakaria updated BEAM-7590:
------------------------------------------
Description:
Currently, BeamCalciteTable keeps a map version of PipelineOptions and that map
version is used in JDBCConnection and RelNodes as well. This map is empty when
the pipeline is constructed from SQLTransform and it will have the parameters
passed from JDBC Client when the pipeline is started by JDBC path.
Since for Row-Count estimation we need to use PipelineOptions (or its
sub-classes) and we cannot convert a map that is created from a pipelineOptions
Subclasses back to PipelineOptions, it is better to keep PipelineOptions object
itself.
Another thing that will be changed as a result is set command. Currently, if in
JDBC we use Set Command for a pipeline option, it will only change that option
in the map. This means even if the option is incorrect, it does not throw
exception until it creates the actual Pipeline Options. However, if we are
keeping the PipelineOptions class itself, then wee need to actually set the
passed parameters (using reflection) which will throw exception at the time of
setting them.
was:
Currently, BeamCalciteTable keeps a map version of PipelineOptions and that map
version is used in JDBCConnection and RelNodes as well. This map is empty when
the pipeline is constructed from SQLTransform and it will have the parameters
passed from JDBC Client when the pipeline is started by JDBC path.
Since for Row-Count estimation we need to use PipelineOptions (or its
sub-classes) and we cannot convert a map that is created from a pipelineOptions
Subclasses back to PipelineOptions, it is better to keep PipelineOptions object
itself.
> Convert PipelineOptionsMap to PipelineOption
> --------------------------------------------
>
> Key: BEAM-7590
> URL: https://issues.apache.org/jira/browse/BEAM-7590
> Project: Beam
> Issue Type: Improvement
> Components: dsl-sql
> Reporter: Alireza Samadianzakaria
> Assignee: Alireza Samadianzakaria
> Priority: Minor
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Currently, BeamCalciteTable keeps a map version of PipelineOptions and that
> map version is used in JDBCConnection and RelNodes as well. This map is empty
> when the pipeline is constructed from SQLTransform and it will have the
> parameters passed from JDBC Client when the pipeline is started by JDBC path.
> Since for Row-Count estimation we need to use PipelineOptions (or its
> sub-classes) and we cannot convert a map that is created from a
> pipelineOptions Subclasses back to PipelineOptions, it is better to keep
> PipelineOptions object itself.
> Another thing that will be changed as a result is set command. Currently, if
> in JDBC we use Set Command for a pipeline option, it will only change that
> option in the map. This means even if the option is incorrect, it does not
> throw exception until it creates the actual Pipeline Options. However, if we
> are keeping the PipelineOptions class itself, then wee need to actually set
> the passed parameters (using reflection) which will throw exception at the
> time of setting them.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)