FirebirdSQL / jaybird

JDBC driver for Firebird
https://firebirdsql.org/en/jdbc-driver/
GNU Lesser General Public License v2.1
94 stars 23 forks source link

Fix FBProcedureCall.checkParameters() #775

Closed mrotteveel closed 3 weeks ago

mrotteveel commented 1 year ago

Currently, the method FBProcedureCall.checkParameters() doesn't actually do what it claims to do (checking if all parameters are set). The most obvious example of this is that FBEscapedParser.convertProcedureCall calls it, and that means it would fail if it was parsing a call-escape with parameters, and currently it succeeds without error.

We need to investigate what the method should do on each call site, and correct the method and/or replace it with a new method that does the right thing for that call site.

In fact, the way procedure parameters are currently handled in FBProcedureCall seems odd at best, so this might need a deeper dive.

mrotteveel commented 3 weeks ago

I have come to the conclusion that this needs to be done as part of #343. Unfortunately, that issue keeps slipping because of its complexity and my indecision regarding an approach to take.