LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - dynalloc.pgc (source / functions) Coverage Total Hit
Test: PostgreSQL 20devel Lines: 100.0 % 62 62
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: 55.8 % 52 29

             Branch data     Line data    Source code
       1                 :             : #include <stdio.h>
       2                 :             : exec sql include sqlca;
       3                 :             : #include <stdlib.h>
       4                 :             : exec sql include ../regression;
       5                 :             : 
       6                 :           2 : int main(void)
       7                 :             : {
       8                 :             :    exec sql begin declare section;
       9                 :           2 :    int     *d1=0;
      10                 :           2 :    double  *d2=0;
      11                 :           2 :    char **d3=0;
      12                 :           2 :    char **d4=0;
      13                 :           2 :    char **d5=0;
      14                 :           2 :    char **d6=0;
      15                 :           2 :    char **d7=0;
      16                 :             : /*   char **d8=0; */
      17                 :           2 :    char **d9=0;
      18                 :           2 :    int *i1=0;
      19                 :           2 :    int *i2=0;
      20                 :           2 :    int *i3=0;
      21                 :           2 :    int *i4=0;
      22                 :           2 :    int *i5=0;
      23                 :           2 :    int *i6=0;
      24                 :           2 :    int *i7=0;
      25                 :             : /*   int *i8=0; */
      26                 :           2 :    int *i9=0;
      27                 :             :    exec sql end declare section;
      28                 :             :    int i;
      29                 :             : 
      30                 :           2 :    ECPGdebug(1, stderr);
      31                 :             : 
      32                 :             :    exec sql whenever sqlerror do sqlprint();
      33                 :           2 :    exec sql connect to REGRESSDB1;
      34         [ -  + ]:           2 : 
      35                 :           2 :    exec sql set datestyle to mdy;
      36         [ -  + ]:           2 : 
      37                 :           2 :    exec sql create table test (a serial, b numeric(12,3), c varchar, d varchar(3), e char(4), f timestamptz, g boolean, h box, i inet);
      38         [ -  + ]:           2 :    exec sql insert into test (b, c, d, e, f, g, h, i) values (23.456, 'varchar', 'v', 'c', '2003-03-03 12:33:07 PDT', true, '(1,2,3,4)', '2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128');
      39         [ -  + ]:           2 :    exec sql insert into test (b, c, d, e, f, g, h, i) values (2.446456, NULL, 'v', 'c', '2003-03-03 12:33:07 PDT', false, NULL, NULL);
      40         [ -  + ]:           2 : 
      41                 :           2 :    exec sql allocate descriptor mydesc;
      42         [ -  + ]:           2 :    exec sql select a,b,c,d,e,f,g,h,i into sql descriptor mydesc from test order by a;
      43         [ -  + ]:           2 :    exec sql get descriptor mydesc value 1 :d1=DATA, :i1=INDICATOR;
      44         [ -  + ]:           2 :    exec sql get descriptor mydesc value 2 :d2=DATA, :i2=INDICATOR;
      45         [ -  + ]:           2 :    exec sql get descriptor mydesc value 3 :d3=DATA, :i3=INDICATOR;
      46         [ -  + ]:           2 :    exec sql get descriptor mydesc value 4 :d4=DATA, :i4=INDICATOR;
      47         [ -  + ]:           2 :    exec sql get descriptor mydesc value 5 :d5=DATA, :i5=INDICATOR;
      48         [ -  + ]:           2 :    exec sql get descriptor mydesc value 6 :d6=DATA, :i6=INDICATOR;
      49         [ -  + ]:           2 :    exec sql get descriptor mydesc value 7 :d7=DATA, :i7=INDICATOR;
      50         [ -  + ]:           2 :    /* skip box for now */
      51                 :             :    /* exec sql get descriptor mydesc value 8 :d8=DATA, :i8=INDICATOR; */
      52                 :           2 :    exec sql get descriptor mydesc value 9 :d9=DATA, :i9=INDICATOR;
      53         [ -  + ]:           2 : 
      54                 :           2 :    printf("Result:\n");
      55         [ +  + ]:           6 :    for (i=0;i<sqlca.sqlerrd[2];++i)
      56                 :             :    {
      57         [ -  + ]:           4 :       if (i1[i]) printf("NULL, ");
      58                 :           4 :       else printf("%d, ",d1[i]);
      59                 :             : 
      60         [ -  + ]:           4 :       if (i2[i]) printf("NULL, ");
      61                 :           4 :       else printf("%f, ",d2[i]);
      62                 :             : 
      63         [ +  + ]:           4 :       if (i3[i]) printf("NULL, ");
      64                 :           2 :       else printf("'%s', ",d3[i]);
      65                 :             : 
      66         [ -  + ]:           4 :       if (i4[i]) printf("NULL, ");
      67                 :           4 :       else printf("'%s', ",d4[i]);
      68                 :             : 
      69         [ -  + ]:           4 :       if (i5[i]) printf("NULL, ");
      70                 :           4 :       else printf("'%s', ",d5[i]);
      71                 :             : 
      72         [ -  + ]:           4 :       if (i6[i]) printf("NULL, ");
      73                 :           4 :       else printf("'%s', ",d6[i]);
      74                 :             : 
      75         [ -  + ]:           4 :       if (i7[i]) printf("NULL, ");
      76                 :           4 :       else printf("'%s', ",d7[i]);
      77                 :             : 
      78         [ +  + ]:           4 :       if (i9[i]) printf("NULL, ");
      79                 :           2 :       else printf("'%s', ",d9[i]);
      80                 :             : 
      81                 :           4 :       printf("\n");
      82                 :             :    }
      83                 :           2 :    ECPGfree_auto_mem();
      84                 :           2 :    printf("\n");
      85                 :             : 
      86                 :           2 :    exec sql deallocate descriptor mydesc;
      87         [ -  + ]:           2 :    exec sql disconnect;
      88         [ -  + ]:           2 :    return 0;
      89                 :             : }
        

Generated by: LCOV version 2.0-1