Subject Re: UDF Failure
Author alex_vnru
--- In ib-support@y..., "Claudio Valderrama C." <cvalde@u...> wrote:
> Anyway, it didn't understand a bit what your examples mean. Can you
clarify
> what's the ones you expect to be rejected and what fail at least?

Claudio, I use build 796 and don't understand logic

select Trim(cast ('c' as varchar (32000)) || Cast ('c' as varchar
(32000))) from rdb$database
Unsuccessful execution caused by an unavailable resource.
Implementation limit exceeded.
block size exceeds implementation restriction.

OK, intermediate result greater than 32767. On FB1.1 it should occure
on 64K, if I confuse myself rightly :)

select Trim(cast ('c' as varchar (32700))) || Cast ('c' as varchar
(32700)) from rdb$database
Unsuccessful execution caused by an unavailable resource.
Implementation limit exceeded.
block size exceeds implementation restriction.

Intermediate results are 1 and 32700, expression result is 32701 and
less than 32767. Why statement is incorrect?

select Trim(cast ('c' as varchar (32500))) || Cast ('c' as varchar
(32500)) from rdb$database
'cc' || many spaces

Intermediate results are 1 and 32500, expression result is 32501 and
less than 32767 too. I can't realize difference between this statement
and prior one, which produced an exception.

Interesting is too that when I tried to overflow an operand, reaction
was another, from DSQL

select Trim(cast ('c' as varchar (32767))) from rdb$database

Dynamic SQL Error.
SQL error code = -204.
Data type unknown.
Implementation limit exceeded.
COLUMN DSQL internal.

Best regards, Alexander V.Nevsky.