Subject | Re: Restoring Problem |
---|---|
Author | Ian A. Newby |
Post date | 2002-11-08T09:12:56Z |
Hi Sandeep
were checked to ensure they couldn't cause a buffer overrun. If you
use triggers or stored procedures with things like
declare variable string1 varchar(320000);
declare variable string2 varchar(320000);
as
begin
...
result = string1 || string2;
...
end
You get the error error you describe. Note that udf declarations can
cause this too, ie if you have a substring udf declared as returning
a varchar(32000) then you can't do
substring(field,1,10) || substring(field2,1,10)
as the maximum possible length will be 64000.
To backup and restore this database you need to find all these and
modify them. (I think in the above case you could just cast the
return value as a varchar(10).
Regards
Ian Newby
> I have Firebird 1 (Beta2) on windows and Firebird 1 on linux.The was a change between RC2 and the final version in that strings
were checked to ensure they couldn't cause a buffer overrun. If you
use triggers or stored procedures with things like
declare variable string1 varchar(320000);
declare variable string2 varchar(320000);
as
begin
...
result = string1 || string2;
...
end
You get the error error you describe. Note that udf declarations can
cause this too, ie if you have a substring udf declared as returning
a varchar(32000) then you can't do
substring(field,1,10) || substring(field2,1,10)
as the maximum possible length will be 64000.
To backup and restore this database you need to find all these and
modify them. (I think in the above case you could just cast the
return value as a varchar(10).
Regards
Ian Newby