LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - quote.pgc (source / functions) Coverage Total Hit
Test: PostgreSQL 20devel Lines: 100.0 % 27 27
Test Date: 2026-07-25 11:15:46 Functions: 100.0 % 1 1
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
Branches: 52.1 % 48 25

             Branch data     Line data    Source code
       1                 :             : #include <stdio.h>
       2                 :             : #include <stdlib.h>
       3                 :             : #include <string.h>
       4                 :             : 
       5                 :             : EXEC SQL INCLUDE ../regression;
       6                 :             : 
       7                 :           2 : int main(void) {
       8                 :             :   EXEC SQL BEGIN DECLARE SECTION;
       9                 :             :     char var[25];
      10                 :             :     int i, loopcount;
      11                 :             :   EXEC SQL END DECLARE SECTION;
      12                 :             : 
      13                 :           2 :   ECPGdebug(1, stderr);
      14                 :           2 :   EXEC SQL CONNECT TO REGRESSDB1;
      15                 :             : 
      16                 :           2 :   EXEC SQL SET AUTOCOMMIT TO ON;
      17                 :             :   EXEC SQL WHENEVER SQLWARNING SQLPRINT;
      18                 :             :   EXEC SQL WHENEVER SQLERROR STOP;
      19                 :             : 
      20                 :           2 :   EXEC SQL CREATE TABLE "My_Table" ( Item1 int, Item2 text );
      21   [ -  +  -  + ]:           2 : 
      22                 :           2 :   EXEC SQL SET standard_conforming_strings TO on;
      23   [ -  +  -  + ]:           2 : 
      24                 :           2 :   EXEC SQL SHOW standard_conforming_strings INTO :var;
      25   [ -  +  -  + ]:           2 :   printf("Standard conforming strings: %s\n", var);
      26                 :             : 
      27                 :             :   /* this is a\\\\b actually */
      28                 :           2 :   EXEC SQL INSERT INTO "My_Table" VALUES ( 2, 'a\\\\b' );
      29   [ -  +  -  + ]:           2 :   /* this is a\\b */
      30                 :           2 :   EXEC SQL INSERT INTO "My_Table" VALUES ( 2, E'a\\\\b' );
      31   [ -  +  -  + ]:           2 : 
      32                 :           2 :   EXEC SQL BEGIN;
      33   [ -  +  -  + ]:           2 :   EXEC SQL DECLARE C CURSOR FOR SELECT * FROM "My_Table";
      34                 :             : 
      35                 :           2 :   EXEC SQL OPEN C;
      36   [ -  +  -  + ]:           2 : 
      37                 :             :   EXEC SQL WHENEVER NOT FOUND DO BREAK;
      38                 :             : 
      39         [ +  - ]:           6 :   for (loopcount = 0; loopcount < 100; loopcount++)
      40                 :             :   {
      41                 :           6 :     EXEC SQL FETCH C INTO :i, :var;
      42   [ +  +  -  +  :           6 :     printf("value: %d %s\n", i, var);
                   -  + ]
      43                 :             :   }
      44                 :             : 
      45                 :           2 :   EXEC SQL ROLLBACK;
      46   [ -  +  -  + ]:           2 :   EXEC SQL DROP TABLE "My_Table";
      47   [ -  +  -  + ]:           2 : 
      48                 :           2 :   EXEC SQL DISCONNECT ALL;
      49   [ -  +  -  + ]:           2 : 
      50                 :           2 :   return 0;
      51                 :             : }
        

Generated by: LCOV version 2.0-1