Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
10.0.0
-
None
Description
Hey again
I'm getting a 'parameter ordinal 1 out of range' error trying to set a parameter on the returned AvaticaPreparedStatement. Repro:
- Open a FlightSQL JDBC connection
- conn.prepareStatement with a SQL query containing params (e.g. INSERT INTO users (id, name) VALUES (?, ?))
- `ps.setString(1, "foo")` -> above error, thrown from AvaticaPreparedStatement.getParameter(int)
I had a bit of a dig to try to identify a potential cause:
- the Meta.Signature passed to the AvaticaPreparedStatement on creation has an empty parameter list - this is what causes the out-of-bounds error.
- in ArrowFlightMetaImpl.prepare, it calls newSignature, but this only takes the SQL query, and so newSignature creates the signature with the empty list. The call to ArrowFlightSqlClientHandler.prepare happens on the line after - could we pass the param Schema from this result to newSignature?
Let me know if I can help narrow this down further or help with the fix
James
Attachments
Issue Links
- links to