Icon View Incident Report

Minor Minor
Reported By: Franco Fustini
Reported On: 8/5/2012
For: Version 2.09 Build 1
# 3614 Millisecond Interval Literals Using 4 Decimal Places Instead of 3

In order to show the execution time of a procedure I declare 2 TIME variables to obtain the due INTERVAL data and then cast it to VARCHAR to send it back as an OUT param. However, there is one extra 'zero' which is positioned after the period.

BEGIN
DECLARE TOT INTEGER DEFAULT 0;
DECLARE NUM INTEGER DEFAULT 0;

DECLARE X INTERVAL SECOND TO MSECOND 
      DEFAULT INTERVAL '00.00' SECOND TO MSECOND;
DECLARE ASTART TIME DEFAULT TIME '00:00:00.00';
DECLARE AEND TIME DEFAULT TIME '00:00:00.00';

DECLARE CRSR CURSOR FOR STMT;
DECLARE ATABLE VARCHAR(50) DEFAULT '';

SET ASTART = CURRENT_TIME;
PREPARE STMT FROM 'SELECT NAME FROM INFORMATION.TABLES';

OPEN CRSR;
SET TOT = ROWCOUNT(CRSR);

FETCH FIRST FROM CRSR ('NAME') INTO ATABLE;

WHILE NOT EOF(CRSR) DO

  EXECUTE IMMEDIATE 'OPTIMIZE TABLE "' + ATABLE + '" ';

  FETCH NEXT FROM CRSR INTO ATABLE;
  SET NUM = NUM + 1;
  SET PROGRESS TO TRUNC((NUM/TOT)*100);
  SET STATUS MESSAGE TO 'Ottimizz. ' + CAST(NUM,VARCHAR(3)) + '/' +
                      CAST(TOT,VARCHAR(3));
END WHILE;
SET AEND = CURRENT_TIME;

CLOSE CRSR;
UNPREPARE STMT;

SET X = (AEND - ASTART) SECOND TO MSECOND;

SET MSG = CAST(X AS VARCHAR(15));
SET MSG = 'Eseguito in ' + MSG + ' sec.';

END



Resolution Resolution
Fixed Problem on 8/6/2012 in version 2.10 build 1


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 LCL Standard with Source
ElevateDB PHP Standard
ElevateDB PHP Standard with Source
ElevateDB PHP Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image