Subject Re: [IBO] ERRCODE = 100. What does it mean?
Author constantijnw
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@t...> wrote:
> At 09:33 PM 6/06/2004 +0000, you wrote:
>
> > > > What does ERRCODE = 100 mean?
> > >
> > > Usually it's "No more records". You also get this immediately when
> > > the result set is empty. There are other possibilities, e.g.
"Invalid
> > > database key"; see the Language Reference, page 204-205.
> > >
> > > I's not really an error - real errors have negative numbers.
> > >
> >Hi Paul,
> >
> >So if no more records can be fetched IB_MONITOR shows
> >ERRCODE = 100?
>
> That's right. It's the standard SQLCODE for "End of Cursor". Positive
> SQLCODE messages and zero are information codes. Error codes are
> negative. The software generalises all of the codes - information and
> error - as ERRCODE.
>
> Within the negative SQLCODEs are GDSCODEs, always nine digits.
These are
> finer level error codes generated by the engine to cover every last
thing
> that can go wrong. They are not defined by the SQL standard but
within the
> software itself.
>
> Both the SQLCODE and the GDSCODE (if there is one) get returned
after an
> SQL request, in the Status Array, AKA Status Vector. IBO reads the
status
> array and delivers the codes and their corresponding text (found in
> firebird.msg) verbatim. That is what you see in the IB_Monitor.
>
> I extracted a full list of SQLCODEs and GDSCODEs with their messages
for
> The Firebird Book. You can download a raw copy of it here:
> http://www.ibobjects.com/docs/fb_1_5_errorcodes.zip
>
> Looking at the "problems" you have been describing lately, I don't
think
> you actually have an SQL error with your SPs at all. It looks more
like
> you are trying to do something impossible with the output - like
bringing a
> singleton result into a grid component, for example, and calling
Next or
> Last on the result set.
>
> That's why we aren't going to get anywhere with a solution until you
tell
> us what you are actually doing with this statement and its output.
>
> Helen

You forgot to mention (the in my opinion best article available):
Jason's ti_ErrorHandling.pdf.

From what I've read now I conclude that ERRCODE is SQLCODE for
non-errors, and GDSCODE (Interbase numbers) for "real" errors. Right?

Thus, if I use IB_MONITOR output strings for error monitoring then
I must ignore ERRCODE <= 101?