Subject | Re: UDF Failure |
---|---|
Author | alex_vnru |
Post date | 2002-03-27T00:12:33Z |
--- In ib-support@y..., Paul Reeves <paul@f...> wrote:
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
> Ah, you should read the FAQ here: http://www.ibphoenix.com Itexplains
> all. The problem has arisen because no check was made on expressionnow
> size. It was possible to crash the server because of this. There is
> a check and string expressions that evaluate to greater than 32kfail.
>expressions
> I'm not sure how this one is going to be resolved. String
> have to max out somewhere and 32k seems reasonable to me. The realfew
> problem is that no check was ever made in the past, so more than a
> 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