Subject Re: UDF Failure
Author alex_vnru
--- In ib-support@y..., Paul Reeves <paul@f...> wrote:
> Ah, you should read the FAQ here: http://www.ibphoenix.com It
explains
> all. The problem has arisen because no check was made on expression
> size. It was possible to crash the server because of this. There is
now
> a check and string expressions that evaluate to greater than 32k
fail.
>
> I'm not sure how this one is going to be resolved. String
expressions
> have to max out somewhere and 32k seems reasonable to me. The real
> problem is that no check was ever made in the past, so more than a
few
> people have unknowingly taken advantage of this.

Paul, but is it correct to check operands declaration size or
intermediate result (I'm not shure) instead of expression result size?
Next statements should produce result within range but are rejected
now:

trimmed result of concatenation

select Trim(cast ('c' as varchar (32000)) || Cast ('c' as varchar
(32000))) from rdb$database

trimmed first operand

select Trim(cast ('c' as varchar (32700))) || Cast ('c' as varchar
(32700)) from rdb$database

server LI-V6.2.796 client WI-T6.2.682

Best regards, Alexander V.Nevsky