LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - define.pgc (source / functions) Hit Total Coverage
Test: PostgreSQL 16beta1 Lines: 20 20 100.0 %
Date: 2023-05-30 18:12:27 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : exec sql include sqlca;
       2             : exec sql include ../regression;
       3             : exec sql define STR 'abcdef';
       4             : exec sql define INSERTNULL 1;
       5             : exec sql define NUMBER 29;
       6             : 
       7           4 : int main(void)
       8             : {
       9             :    exec sql begin declare section;
      10             :      int i;
      11             :      char s[200];
      12             :    exec sql end declare section;
      13             : 
      14           4 :    ECPGdebug(1, stderr);
      15             : 
      16             :    exec sql whenever sqlerror do sqlprint();
      17           4 :    exec sql connect to REGRESSDB1;
      18           4 : 
      19           4 :    exec sql create table test (a int, b text);
      20           4 :    exec sql insert into test values (NUMBER, STR);
      21           4 : 
      22             :    exec sql ifdef INSERTNULL;
      23           4 :    exec sql insert into test values (NULL, 'defined');
      24           4 :    exec sql endif;
      25             : 
      26             :    exec sql ifndef INSERTNULL;
      27             :    exec sql insert into test values (NULL, 'not defined');
      28             :    exec sql elif SOMEOTHERVAR;
      29             :    exec sql insert into test values (NULL, 'someothervar defined');
      30             :    exec sql else;
      31           4 :    exec sql insert into test values (NULL, 'someothervar not defined');
      32           4 :    exec sql endif;
      33             : 
      34             :    exec sql define NUMBER 29;
      35             : 
      36           4 :    exec sql select INSERTNULL, NUMBER::text || '-' || STR INTO :i, :s;
      37           4 : 
      38           4 :    printf("i: %d, s: %s\n", i, s);
      39             : 
      40             :    exec sql undef STR;
      41             :    exec sql ifndef STR;
      42           4 :    exec sql insert into test values (NUMBER, 'no string');
      43           4 :    exec sql endif;
      44             : 
      45             :    exec sql define TZVAR;  /* no value */
      46             :    exec sql define TZVAR 'UTC';
      47             : 
      48             :    exec sql ifndef TZVAR;
      49             :    exec sql SET TIMEZONE TO 'GMT';
      50             :    exec sql elif TZNAME;
      51             :    exec sql SET TIMEZONE TO TZNAME;
      52             :    exec sql else;
      53           4 :    exec sql SET TIMEZONE TO TZVAR;
      54           4 :    exec sql endif;
      55             : 
      56           4 :    exec sql disconnect;
      57           4 :    return 0;
      58             : }

Generated by: LCOV version 1.14