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.
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.
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 thatFBEscapedParser.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.