LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - oldexec.pgc (source / functions) Coverage Total Hit
Test: Code coverage Lines: 0.0 % 65 0
Test Date: 2026-01-26 10:56:24 Functions: 0.0 % 1 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #include <stdlib.h>
       2              : #include <string.h>
       3              : #include <stdlib.h>
       4              : #include <stdio.h>
       5              : 
       6              : exec sql include ../regression;
       7              : 
       8              : exec sql whenever sqlerror sqlprint;
       9              : 
      10              : int
      11            0 : main(void)
      12              : {
      13              : exec sql begin declare section;
      14            0 :         int amount[8];
      15            0 :         int increment=100;
      16            0 :         char name[8][8];
      17            0 :         char letter[8][1];
      18            0 :         char command[128];
      19              : exec sql end declare section;
      20            0 :         int i,j;
      21              : 
      22            0 :         ECPGdebug(1, stderr);
      23              : 
      24            0 :         exec sql connect to REGRESSDB1 as main;
      25            0 : 
      26            0 :         exec sql create table test (name char(8), amount int, letter char(1));
      27            0 :         exec sql commit;
      28            0 : 
      29            0 :         sprintf(command, "insert into test (name, amount, letter) values ('db: ''r1''', 1, 'f')");
      30            0 :         exec sql execute immediate :command;
      31            0 : 
      32            0 :         sprintf(command, "insert into test (name, amount, letter) values ('db: ''r1''', 2, 't')");
      33            0 :         exec sql execute immediate :command;
      34            0 : 
      35            0 :         sprintf(command, "insert into test (name, amount, letter) select name, amount+10, letter from test");
      36            0 :         exec sql execute immediate :command;
      37            0 : 
      38            0 :         printf("Inserted %ld tuples via execute immediate\n", sqlca.sqlerrd[2]);
      39              : 
      40            0 :         sprintf(command, "insert into test (name, amount, letter) select name, amount+$1, letter from test");
      41            0 :         exec sql prepare I from :command;
      42            0 :         exec sql execute I using :increment;
      43            0 : 
      44            0 :         printf("Inserted %ld tuples via prepared execute\n", sqlca.sqlerrd[2]);
      45              : 
      46            0 :         exec sql commit;
      47            0 : 
      48            0 :         sprintf (command, "select * from test");
      49              : 
      50            0 :         exec sql prepare F from :command;
      51            0 :         exec sql declare CUR cursor for F;
      52              : 
      53            0 :         exec sql open CUR;
      54            0 :         exec sql fetch 8 in CUR into :name, :amount, :letter;
      55            0 : 
      56            0 :         for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
      57            0 :         {
      58            0 :                 char n[8], l = letter[i][0];
      59            0 :                 int a = amount[i];
      60              : 
      61            0 :                 strncpy(n, name[i], 8);
      62            0 :                 printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
      63            0 :         }
      64              : 
      65            0 :         exec sql close CUR;
      66            0 : 
      67            0 :         sprintf (command, "select * from test where ? = amount");
      68              : 
      69            0 :         exec sql prepare F from :command;
      70            0 :         exec sql declare CUR3 cursor for F;
      71              : 
      72            0 :         exec sql open CUR3 using 1;
      73            0 :         exec sql fetch in CUR3 into :name, :amount, :letter;
      74            0 : 
      75            0 :         for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
      76            0 :         {
      77            0 :                 char n[8], l = letter[i][0];
      78            0 :                 int a = amount[i];
      79              : 
      80            0 :                 strncpy(n, name[i], 8);
      81            0 :                 printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
      82            0 :         }
      83              : 
      84            0 :         exec sql close CUR3;
      85            0 :         exec sql drop table test;
      86            0 :         exec sql commit;
      87            0 :         exec sql disconnect;
      88            0 : 
      89            0 :         return 0;
      90            0 : }
        

Generated by: LCOV version 2.3.2-1