Hello.
Firebird 3.0.10 SuperServer.
We have one connection with nowait (isc_tpb_read_committed, isc_tpb_rec_version, isc_tpb_nowait).
We have second connection with wait (isc_tpb_read_committed, isc_tpb_rec_version, isc_tpb_wait).
Second connection executes create or alter procedure... - we add an another input parameter to an existing procedure, compile and commit.
Then we run select * from this_procedure from the first connection - when we run a procedure without a changes, we get an error:
"invalid request BLR at offset 160.
Input parameter mismatch for procedure..."
We should still be able to run the old version of procedure, without using a new parameter. Even if we try to execute a procedure with a new parameter, we get a similar error:
"Dynamic SQL Error.
Input parameter mismatch for procedure...".
Everything is ok, when we make changes to the main begin end block or to the output parameters. However, any change to the input parameters (adding, editing or deleting an input parameter) breaks the possibility of using that procedure for all already existing connections.
Hello.
Firebird 3.0.10 SuperServer.
We have one connection with nowait (isc_tpb_read_committed, isc_tpb_rec_version, isc_tpb_nowait).
We have second connection with wait (isc_tpb_read_committed, isc_tpb_rec_version, isc_tpb_wait).
Second connection executes create or alter procedure... - we add an another input parameter to an existing procedure, compile and commit.
Then we run select * from this_procedure from the first connection - when we run a procedure without a changes, we get an error:
"invalid request BLR at offset 160.
Input parameter mismatch for procedure..."
We should still be able to run the old version of procedure, without using a new parameter. Even if we try to execute a procedure with a new parameter, we get a similar error:
"Dynamic SQL Error.
Input parameter mismatch for procedure...".
Everything is ok, when we make changes to the main begin end block or to the output parameters. However, any change to the input parameters (adding, editing or deleting an input parameter) breaks the possibility of using that procedure for all already existing connections.