Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

invalid request BLR at offset 26 -- plz advice

29 views
Skip to first unread message

Isaac

unread,
May 19, 2008, 12:49:34 PM5/19/08
to
I get the following error message when I tried to add one more parameter
to the procedure "PROC_AVGCOST_QTYBAL" this procedure is called by a trigger

But when I tried to save the new call in the trigger I get this error:

Invalid token.
invalid request BLR at offset 26.
parameter mismatch for procedure PROC_AVGCOST_QTYBAL.

please advice

Craig Stuntz [TeamB]

unread,
May 19, 2008, 1:03:16 PM5/19/08
to
Isaac wrote:

> I get the following error message when I tried to add one more
> parameter to the procedure "PROC_AVGCOST_QTYBAL" this procedure is
> called by a trigger
>
> But when I tried to save the new call in the trigger I get this error:

I think this is probably an IB bug, but it should be fairly easy to
work around. My memory of the details is a little bit spotty, but
here's the gist. IB's dependency checking between triggers and
procedures isn't quite all it could be. In some cases, it seems to
validate the arguments to a procedure when you change a trigger which
calls it. But, when you change the procedure itself, it doesn't always
seem to find triggers which called the procedure. Hence, you can get
into a situation like this:

1. You create a procedure, then a trigger which calls it.
2. Now you change the arguments of the procedure. You should get a
dependency error here (due to the trigger), but you don't always.
3. You update the trigger to conform to the new arguments for the
procedure. The first thing that IB does, in updating the trigger
source, is to check the old version of the source code for validity.
But of course it is wrong, because it's using the wrong number of
procedure arguments.

The workaround is to do what you would have to do if the dependency
checking in step 2 were working correctly in the first place. Before
changing the arguments to the procedure, alter the trigger to not call
the procedure. Change the arguments of the procedure, and then alter
the trigger to call the procedure again.

--
Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz
Everything You Need to Know About InterBase Character Sets:
http://blogs.teamb.com/craigstuntz/articles/403.aspx

Isaac

unread,
May 19, 2008, 1:00:16 PM5/19/08
to
also there is no type mismatch and I get this error now when I add any
new parameter to the procedure

Isaac

unread,
May 19, 2008, 1:28:18 PM5/19/08
to
oh my GOD it works , what a very annoying bug it makes me go in circles

Many Thanks Craig I hope other developer know that

Quinn Wildman (CodeGear Developer Support)

unread,
May 19, 2008, 5:28:55 PM5/19/08
to
Can you provide a reproduceable test case in QC?

Isaac

unread,
May 20, 2008, 8:19:46 AM5/20/08
to
of course I tried but where I can register so I can report this ?

Bill Todd [TeamB]

unread,
May 20, 2008, 8:53:13 AM5/20/08
to
Isaac wrote:

> where I can register so I can report this ?

http://qc.codegear.com

--
Bill Todd (TeamB)

Isaac

unread,
May 20, 2008, 10:28:24 AM5/20/08
to
0 new messages