Icon View Incident Report

Serious Serious
Reported By: Heiko Knuettel
Reported On: 6/18/2008
For: Version 2.00 Build 1
# 2665 Attempting to CAST an Empty String to a FLOAT Value Causes an Access Violation

I tried to add a simple function as follows, but I get an Acess Violation if I use it as soon as Str has non-numeric content.


CREATE FUNCTION "strtofloat" (IN "str" VARCHAR(500) COLLATE DEU_CI_AI_KI_WI)
RETURNS FLOAT
BEGIN
  declare result float default 0;
  set result = cast(str as float);
  return result;
EXCEPTION
  set result = 0;
END

Workaround:

ALTER FUNCTION "StrToFloat" (IN "Str" VARCHAR COLLATE ANSI)
RETURNS FLOAT
BEGIN
  DECLARE v FLOAT;
  DECLARE s VARCHAR;
  IF Str = '' THEN SET s = ' '; ELSE SET s = Str; END IF;
  BEGIN
    SET v = CAST(s AS FLOAT);
  EXCEPTION
    SET v = 0;
  END;
  RETURN V;
END



Resolution Resolution
Fixed Problem on 6/18/2008 in version 2.00 build 2


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image