Open
Description
Describe the enhancement requested
Based on #156, we need to support the case where the server can't specify the expected type of a given parameter.
Not all servers can always provide an accurate type for bind parameters. What should we do there? Note that ADBC uses NA/NullType as a wildcard/placeholder type here. This isn't specified in Flight SQL itself, but perhaps we could adopt that convention as well.
Proposal:
- When the server doesn't know the type of any of the parameters, it can just set the parameter schema to
null
(or alternatively, an empty schema). - When the server doesn't know the type of only some of the parameters, it can just set the respective Field to
NullType
. - Before we start binding values, we transform the
preparedStatement.getParameterSchema()
based on the types of the givenTypedValues
. If the Schema is empty/null, we create every Field for the schema based on the TypedValue type. Otherwise, we replace all NullType fields with a Field based on the TypedValue.
The only potential drawback I see with this approach is that NullTypes can't be used for parameters. That being said, I can't really think of a case why one would want to do that.
Component(s)
Java
Metadata
Metadata
Assignees
Labels
No labels