davidradl commented on PR #79:
URL:
https://github.com/apache/flink-connector-jdbc/pull/79#issuecomment-1889448042
> JdbcRowDataInputFormat
@libenchao This sounds interesting. An early fix that I produced text
replaced ? for the parameters; this was a simple change and did not need
changes to the visitor or the ParameterizedPredicate. The issue that
@snuyanzin pointed out was that quoted column names containing a `?` would
fail. This was the reason for adding in the indexes - so we knew the index of
the placeholder we needed to replace the parameter with and not match a column
name character.
It seems that `FieldNamedPreparedStatement` is passed parameters
`Connection connection, String sql, String[] fieldNames `. It will need to
replace the `?` and not get confused by a `?` in a column name. I notice that
there is parsing for the `:` character which could also be in a quoted column
name.
I have googled around for whether placeholder characters are allowed in
column names - I have not found anything conclusive. If we do not need to
support this, the fix could be massively simplified, removing the need to
update the ParameterizedPredicate and the visitor. Do you think placeholder
column names will work with the `FieldNamedPreparedStatement` approach?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]