LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - indicators.pgc (source / functions) Coverage Total Hit
Test: PostgreSQL 19devel Lines: 100.0 % 26 26
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              : 
       3              : exec sql include sqlca;
       4              : exec sql include ../regression;
       5              : 
       6            2 : int main()
       7              : {
       8              :     exec sql begin declare section;
       9            2 :         int intvar = 5;
      10            2 :         int nullind = -1;
      11              :     exec sql end declare section;
      12              : 
      13            2 :     ECPGdebug(1,stderr);
      14              : 
      15            2 :     exec sql connect to REGRESSDB1;
      16            2 :     exec sql set autocommit to off;
      17              : 
      18            2 :     exec sql create table indicator_test (
      19              :          "id" int primary key,
      20              :          "str" text NOT NULL,
      21              :           val int null);
      22            2 :     exec sql commit work;
      23              : 
      24            2 :     exec sql insert into indicator_test (id, str, val) values ( 1, 'Hello', 0);
      25              : 
      26              :     /* use indicator in insert */
      27            2 :     exec sql insert into indicator_test (id, str, val) values ( 2, 'Hi there', :intvar :nullind);
      28            2 :     nullind = 0;
      29            2 :     exec sql insert into indicator_test (id, str, val) values ( 3, 'Good evening', :intvar :nullind);
      30            2 :     exec sql commit work;
      31              : 
      32              :     /* use indicators to get information about selects */
      33            2 :     exec sql select val into :intvar from indicator_test where id = 1;
      34            2 :     exec sql select val into :intvar :nullind from indicator_test where id = 2;
      35            2 :     printf("intvar: %d, nullind: %d\n", intvar, nullind);
      36            2 :     exec sql select val into :intvar :nullind from indicator_test where id = 3;
      37            2 :     printf("intvar: %d, nullind: %d\n", intvar, nullind);
      38              : 
      39              :     /* use indicators for update */
      40            2 :     intvar = 5; nullind = -1;
      41            2 :     exec sql update indicator_test set val = :intvar :nullind where id = 1;
      42            2 :     exec sql select val into :intvar :nullind from indicator_test where id = 1;
      43            2 :     printf("intvar: %d, nullind: %d\n", intvar, nullind);
      44              : 
      45            2 :     exec sql drop table indicator_test;
      46            2 :     exec sql commit work;
      47              : 
      48            2 :     exec sql disconnect;
      49            2 :     return 0;
      50              : }
        

Generated by: LCOV version 2.0-1