LCOV - differential code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - indicators.pgc (source / functions) Coverage Total Hit CBC
Current: Differential Code Coverage HEAD vs 15 Lines: 100.0 % 26 26 26
Current Date: 2023-04-08 15:15:32 Functions: 100.0 % 1 1 1
Baseline: 15
Baseline Date: 2023-04-08 15:09:40
Legend: Lines: hit not hit

           TLA  Line data    Source code
       1                 : #include <stdio.h>
       2                 : 
       3                 : exec sql include sqlca;
       4                 : exec sql include ../regression;
       5                 : 
       6 CBC           1 : int main()
       7                 : {
       8                 :     exec sql begin declare section;
       9               1 :         int intvar = 5;
      10               1 :         int nullind = -1;
      11                 :     exec sql end declare section;
      12                 : 
      13               1 :     ECPGdebug(1,stderr);
      14                 : 
      15               1 :     exec sql connect to REGRESSDB1;
      16               1 :     exec sql set autocommit to off;
      17                 : 
      18               1 :     exec sql create table indicator_test (
      19                 :          "id" int primary key,
      20                 :          "str" text NOT NULL,
      21                 :           val int null);
      22               1 :     exec sql commit work;
      23                 : 
      24               1 :     exec sql insert into indicator_test (id, str, val) values ( 1, 'Hello', 0);
      25                 : 
      26                 :     /* use indicator in insert */
      27               1 :     exec sql insert into indicator_test (id, str, val) values ( 2, 'Hi there', :intvar :nullind);
      28               1 :     nullind = 0;
      29               1 :     exec sql insert into indicator_test (id, str, val) values ( 3, 'Good evening', :intvar :nullind);
      30               1 :     exec sql commit work;
      31                 : 
      32                 :     /* use indicators to get information about selects */
      33               1 :     exec sql select val into :intvar from indicator_test where id = 1;
      34               1 :     exec sql select val into :intvar :nullind from indicator_test where id = 2;
      35               1 :     printf("intvar: %d, nullind: %d\n", intvar, nullind);
      36               1 :     exec sql select val into :intvar :nullind from indicator_test where id = 3;
      37               1 :     printf("intvar: %d, nullind: %d\n", intvar, nullind);
      38                 : 
      39                 :     /* use indicators for update */
      40               1 :     intvar = 5; nullind = -1;
      41               1 :     exec sql update indicator_test set val = :intvar :nullind where id = 1;
      42               1 :     exec sql select val into :intvar :nullind from indicator_test where id = 1;
      43               1 :     printf("intvar: %d, nullind: %d\n", intvar, nullind);
      44                 : 
      45               1 :     exec sql drop table indicator_test;
      46               1 :     exec sql commit work;
      47                 : 
      48               1 :     exec sql disconnect;
      49               1 :     return 0;
      50                 : }
        

Generated by: LCOV version v1.16-55-g56c0a2a