Subject Re: [ib-support] Different Pagesize, different behaviour
Author Claudio Valderrama C.
<guido.klapperich@...> wrote in message
news:3C7D1DA6.B93DD636@......
> I'm using IB 6.02 on W2K, I have a db and I run the following query
> select S.SAID from SALESAREAS S,DOS_CONSTANTS D where D.NAME=S.SANAME
> and D.SHORTCUT=80
> and I get the result SAID=6

Are SALESAREAS and DOS_CONSTANTS views?
Is there any difference if you try the other syntax?

select S.SAID from SALESAREAS S
JOIN DOS_CONSTANTS D ON D.NAME=S.SANAME
WHERE D.SHORTCUT=80


> The db has the pagesize 4K.
> Now I backup the db and restore it with 8K pagesize. I run the SAME
> query as above and I get
> Overflow occurred during data type conversion

Hmm, you are finding too much bugs, someone should take care of you.
:-)


> Conversion error from string "".

This is a flawed message. First, it means
Conversion error to string ""
The engine is trying to squeeze some value that you can't see into a field
whose value is a constant string of length one, defined statically for all
threads. This field is a placeholder to indicate special conditions inside
the engine, like a null flag indicator or a dummy field in an outer join. By
the time you get that message, the engine is trashed and this variable no
longer serves its purpose, because it has a value different from the
original one-blank character. (And if this is a null indicator, it will be
considered as if the field to which it applies is always null). The only way
to clear memory is to restart the engine. I didn't noticed the danger until
I stepped with the debugger. I changed the message to be
Conversion error from <source_string>
At least you know which is the value that couldn't be copied for lack of
space.

What is the definition of S.SAID? If SALESAREA is a view, is the field
indexed in the base table?

C.
--
Claudio Valderrama C. - http://www.cvalde.com - http://www.firebirdSql.org
Independent developer
Owner of the Interbase® WebRing