LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - dynalloc.pgc (source / functions) Coverage Total Hit
Test: PostgreSQL 19devel Lines: 100.0 % 62 62
Test Date: 2026-03-11 10:16:42 Functions: 100.0 % 1 1
Legend: Lines:     hit not hit

            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