Subject Re: Error while restoring database
Author mdjorov
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@...> wrote:
>
> At 10:01 AM 7/05/2009, you wrote:
> >Thanks for your answer!
> >
> >> its says input param mismatch for MyStoredProcedure
> >> So it's tleling you that the parameter you declare in MyStoredProcedure
> >> doesn't match the expected use inside the proc.
>
> No, it's not telling you that. Stored procedures are not recompiled at restore time: the "compiled" blr is simply copied as-is. The definitions of input parameters, stored in RDB$PROCEDURE_PARAMETERS, *are* restored.
>
> What I think it's telling you is that you have a view, GTT or COMPUTED BY column somewhere, or a CHECK constraint, that is calling this SP with a parameter that doesn't match (for type or size) the corresponding input parameter definition stored in RDB$PROCEDURE_PARAMETERS. Such a mismatch should not have gotten past the compiler (originally), either; so I think you might well suspect someone has been messing about with system tables - perhaps to try to overrule a disallowed change to a domain.
>
> Use the -v[erify] switch on the restore, with -y to send the output to a file. You should be able to discover the last object that was restored successfully. The problem will have been encountered while restoring the *next* object. (Objects of each kind are restored in alphabetical order.)
>
> ./heLen
>
I have got the same error message when I'm restoring a database. But the stored procedure is called only from my Delphi app. Nothing in the database (SP, trigger, check etc.) use this stored procedure.
And the error occur after the restoring of the indexes.

This is how the log file looks like:
.....
gbak:restoring stored procedure FIX_ALL
gbak:restoring parameter P_SAMPLE_ID for stored procedure
gbak:restoring parameter P_FLAG_IZL for stored procedure
gbak:restoring parameter P_FLAG_FKT for stored procedure
gbak:restoring parameter P_OPR_ID for stored procedure
gbak:restoring parameter P_SKLAD_ID for stored procedure
gbak:restoring parameter P_DATE for stored procedure
gbak:restoring parameter R_RESULT for stored procedure
.....
committing metadata
......

gbak: activating and creating deferred index FK_OLD_IN_EL_OPR_ID
gbak: activating and creating deferred index FK_OLD_IN_EL_SAMPLE_ID
gbak: activating and creating deferred index FK_BARCODE_SAMPLE_ID
gbak: committing metadata
IBE: Invalid token.
invalid request BLR at offset 361.
Input parameter mismatch for procedure FIX_ALL.
IBE: Restore completed. Current time: 17:36:26. Elapsed time: 00:07:21

Firebird 2.1.2 SuperServer WindowsXP SP3

What can be the reason for this error?