LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/preproc - whenever_do_continue.pgc (source / functions) Coverage Total Hit
Test: Code coverage Lines: 0.0 % 29 0
Test Date: 2026-01-26 10:56:24 Functions: 0.0 % 1 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #include <stdlib.h>
       2              : 
       3              : exec sql include ../regression;
       4              : 
       5              : exec sql whenever sqlerror stop;
       6              : 
       7            0 : int main(void)
       8              : {
       9              :         exec sql begin declare section;
      10              :         struct
      11              :         {
      12              :                 char ename[12];
      13              :                 float sal;
      14              :                 float comm;
      15            0 :         } emp;
      16            0 :         int loopcount;
      17            0 :         char msg[128];
      18              :         exec sql end declare section;
      19              : 
      20            0 :         ECPGdebug(1, stderr);
      21              : 
      22            0 :         strcpy(msg, "connect");
      23            0 :         exec sql connect to REGRESSDB1;
      24            0 : 
      25            0 :         strcpy(msg, "create");
      26            0 :         exec sql  create table emp(ename varchar,sal double precision, comm double precision);
      27            0 : 
      28            0 :         strcpy(msg, "insert");
      29            0 :         exec sql insert into emp values ('Ram',111100,21);
      30            0 :         exec sql insert into emp values ('aryan',11110,null);
      31            0 :         exec sql insert into emp values ('josh',10000,10);
      32            0 :         exec sql insert into emp values ('tom',20000,null);
      33            0 : 
      34              :         exec sql declare c cursor for select ename, sal, comm from emp order by ename collate "C" asc;
      35              : 
      36            0 :         exec sql open c;
      37            0 : 
      38              :         /* The 'BREAK' condition to exit the loop. */
      39              :         exec sql whenever not found do break;
      40              : 
      41              :         /* The DO CONTINUE makes the loop start at the next iteration when an error occurs.*/
      42              :         exec sql whenever sqlerror do continue;
      43              : 
      44            0 :         for (loopcount = 0; loopcount < 100; loopcount++)
      45              :         {
      46            0 :                 exec sql fetch c into :emp;
      47            0 :                 /* The employees with non-NULL commissions will be displayed. */
      48            0 :                 printf("%s %7.2f %9.2f\n", emp.ename, emp.sal, emp.comm);
      49            0 :         }
      50              : 
      51            0 :         /*
      52              :          * This 'CONTINUE' shuts off the 'DO CONTINUE' and allow the program to
      53              :          * proceed if any further errors do occur.
      54              :          */
      55              :         exec sql whenever sqlerror continue;
      56              : 
      57            0 :         exec sql close c;
      58              : 
      59            0 :         strcpy(msg, "drop");
      60            0 :         exec sql drop table emp;
      61              : 
      62            0 :         exit(0);
      63              : }
        

Generated by: LCOV version 2.3.2-1