LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - fetch.pgc (source / functions) Coverage Total Hit
Test: PostgreSQL 20devel Lines: 100.0 % 33 33
Test Date: 2026-07-25 10:15:40 Functions: 100.0 % 1 1
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
Branches: 51.6 % 64 33

             Branch data     Line data    Source code
       1                 :             : #include <stdio.h>
       2                 :             : #include <stdlib.h>
       3                 :             : #include <string.h>
       4                 :             : 
       5                 :             : EXEC SQL INCLUDE ../regression;
       6                 :             : 
       7                 :           2 : int main(void) {
       8                 :             :   EXEC SQL BEGIN DECLARE SECTION;
       9                 :             :     char str[25];
      10                 :           2 :     int i, count=1, loopcount;
      11                 :             :   EXEC SQL END DECLARE SECTION;
      12                 :             : 
      13                 :           2 :   ECPGdebug(1, stderr);
      14                 :           2 :   EXEC SQL CONNECT TO REGRESSDB1;
      15                 :             : 
      16                 :             :   EXEC SQL WHENEVER SQLWARNING SQLPRINT;
      17                 :             :   EXEC SQL WHENEVER SQLERROR STOP;
      18                 :             : 
      19                 :           2 :   EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text );
      20   [ -  +  -  + ]:           2 : 
      21                 :           2 :   EXEC SQL INSERT INTO My_Table VALUES ( 1, 'text1');
      22   [ -  +  -  + ]:           2 :   EXEC SQL INSERT INTO My_Table VALUES ( 2, 'text2');
      23   [ -  +  -  + ]:           2 :   EXEC SQL INSERT INTO My_Table VALUES ( 3, 'text3');
      24   [ -  +  -  + ]:           2 :   EXEC SQL INSERT INTO My_Table VALUES ( 4, 'text4');
      25   [ -  +  -  + ]:           2 : 
      26                 :             :   EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table;
      27                 :             : 
      28                 :           2 :   EXEC SQL OPEN C;
      29   [ -  +  -  + ]:           2 : 
      30                 :             :   EXEC SQL WHENEVER NOT FOUND DO BREAK;
      31         [ +  - ]:          10 :   for (loopcount = 0; loopcount < 100; loopcount++) {
      32                 :          10 :     EXEC SQL FETCH 1 IN C INTO :i, :str;
      33   [ +  +  -  +  :          10 :     printf("%d: %s\n", i, str);
                   -  + ]
      34                 :             :   }
      35                 :             : 
      36                 :             :   EXEC SQL WHENEVER NOT FOUND CONTINUE;
      37                 :           2 :   EXEC SQL MOVE BACKWARD 2 IN C;
      38   [ -  +  -  + ]:           2 : 
      39                 :           2 :   EXEC SQL FETCH :count IN C INTO :i, :str;
      40   [ -  +  -  + ]:           2 :   printf("%d: %s\n", i, str);
      41                 :             : 
      42                 :           2 :   EXEC SQL CLOSE C;
      43   [ -  +  -  + ]:           2 : 
      44                 :             :   EXEC SQL DECLARE D CURSOR FOR SELECT * FROM My_Table WHERE Item1 = $1;
      45                 :             : 
      46                 :           2 :   EXEC SQL OPEN D using 1;
      47   [ -  +  -  + ]:           2 : 
      48                 :           2 :   EXEC SQL FETCH 1 IN D INTO :i, :str;
      49   [ -  +  -  + ]:           2 :   printf("%d: %s\n", i, str);
      50                 :             : 
      51                 :           2 :   EXEC SQL CLOSE D;
      52   [ -  +  -  + ]:           2 : 
      53                 :           2 :   EXEC SQL DROP TABLE My_Table;
      54   [ -  +  -  + ]:           2 : 
      55                 :           2 :   EXEC SQL DISCONNECT ALL;
      56   [ -  +  -  + ]:           2 : 
      57                 :           2 :   return 0;
      58                 :             : }
        

Generated by: LCOV version 2.0-1