LCOV - differential code coverage report
Current view: top level - src/interfaces/ecpg/test/sql - sqljson.pgc (source / functions) Coverage Total Hit UNC UBC GNC CBC
Current: Differential Code Coverage 16@8cea358b128 vs 17@8cea358b128 Lines: 100.0 % 65 65 40 25
Current Date: 2024-04-14 14:21:10 Functions: 100.0 % 1 1 1
Baseline: 16@8cea358b128 Branches: 53.0 % 66 35 20 11 20 15
Baseline Date: 2024-04-14 14:21:09 Line coverage date bins:
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed (240..) days: 100.0 % 65 65 40 25
Function coverage date bins:
(240..) days: 100.0 % 1 1 1
Branch coverage date bins:
(240..) days: 53.0 % 66 35 20 11 20 15

 Age         Owner                    Branch data    TLA  Line data    Source code
                                  1                 :                : #include <stdio.h>
                                  2                 :                : 
                                  3                 :                : EXEC SQL INCLUDE sqlca;
                                  4                 :                : exec sql include ../regression;
                                  5                 :                : 
                                  6                 :                : EXEC SQL WHENEVER SQLERROR sqlprint;
                                  7                 :                : 
                                  8                 :                : int
  382 alvherre@alvh.no-ip.        9                 :CBC           1 : main ()
                                 10                 :                : {
                                 11                 :                : EXEC SQL BEGIN DECLARE SECTION;
                                 12                 :                :   char json[1024];
                                 13                 :                :   bool is_json[8];
                                 14                 :                : EXEC SQL END DECLARE SECTION;
                                 15                 :                : 
                                 16                 :              1 :   ECPGdebug (1, stderr);
                                 17                 :                : 
                                 18                 :              1 :   EXEC SQL CONNECT TO REGRESSDB1;
                                 19         [ -  + ]:              1 :   EXEC SQL SET AUTOCOMMIT = ON;
                                 20         [ -  + ]:              1 : 
                                 21                 :              1 :   EXEC SQL SELECT JSON_OBJECT(RETURNING text) INTO :json;
                                 22         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 23                 :                : 
                                 24                 :              1 :   EXEC SQL SELECT JSON_OBJECT(RETURNING text FORMAT JSON) INTO :json;
                                 25         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 26                 :                : 
                                 27                 :              1 :   EXEC SQL SELECT JSON_ARRAY(RETURNING jsonb) INTO :json;
                                 28         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 29                 :                : 
                                 30                 :              1 :   EXEC SQL SELECT JSON_ARRAY(RETURNING jsonb FORMAT JSON) INTO :json;
                                 31         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 32                 :                : 
                                 33                 :              1 :   EXEC SQL SELECT JSON_OBJECT(1: 1, '1': NULL WITH UNIQUE) INTO :json;
                                 34         [ +  - ]:              1 :   // error
                                 35                 :                : 
                                 36                 :              1 :   EXEC SQL SELECT JSON_OBJECT(1: 1, '2': NULL, 1: '2' ABSENT ON NULL WITHOUT UNIQUE KEYS) INTO :json;
                                 37         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 38                 :                : 
                                 39                 :              1 :   EXEC SQL SELECT JSON_OBJECT(1: 1, '2': NULL ABSENT ON NULL WITHOUT UNIQUE RETURNING jsonb) INTO :json;
                                 40         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 41                 :                : 
  269 amitlan@postgresql.o       42                 :GNC           1 :   EXEC SQL SELECT JSON(NULL) INTO :json;
                                 43         [ +  - ]:              1 :   printf("Found json=%s\n", json);
                                 44                 :                : 
                                 45                 :              1 :   EXEC SQL SELECT JSON('{ "a" : 1 } ' FORMAT JSON) INTO :json;
                                 46         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 47                 :                : 
                                 48                 :              1 :   EXEC SQL SELECT JSON('{ "a" : 1 } ' FORMAT JSON ENCODING UTF8) INTO :json;
                                 49         [ +  - ]:              1 :   // error
                                 50                 :                : 
                                 51                 :              1 :   EXEC SQL SELECT JSON('   1   '::jsonb) INTO :json;
                                 52         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 53                 :                : 
                                 54                 :              1 :   EXEC SQL SELECT JSON('   1   '::json WITH UNIQUE KEYS) INTO json;
                                 55         [ +  - ]:              1 :   // error
                                 56                 :                : 
                                 57                 :              1 :   EXEC SQL SELECT JSON('{"a": 1, "a": 2}') INTO :json;
                                 58         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 59                 :                : 
                                 60                 :              1 :   EXEC SQL SELECT JSON('{"a": 1, "a": 2}' WITH UNIQUE KEYS) INTO :json;
                                 61         [ +  - ]:              1 :   // error
                                 62                 :                : 
                                 63                 :              1 :   EXEC SQL SELECT JSON_SCALAR(NULL) INTO :json;
                                 64         [ +  - ]:              1 :   printf("Found json=%s\n", json);
                                 65                 :                : 
                                 66                 :              1 :   EXEC SQL SELECT JSON_SCALAR(NULL::int) INTO :json;
                                 67         [ +  - ]:              1 :   printf("Found json=%s\n", json);
                                 68                 :                : 
                                 69                 :              1 :   EXEC SQL SELECT JSON_SCALAR(123.45) INTO :json;
                                 70         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 71                 :                : 
                                 72                 :              1 :   EXEC SQL SELECT JSON_SCALAR(true) INTO :json;
                                 73         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 74                 :                : 
                                 75                 :              1 :   EXEC SQL SELECT JSON_SCALAR(' 123.45') INTO :json;
                                 76         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 77                 :                : 
                                 78                 :              1 :   EXEC SQL SELECT JSON_SCALAR('2020-06-07 01:02:03'::timestamp) INTO :json;
                                 79         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 80                 :                : 
                                 81                 :              1 :   EXEC SQL SELECT JSON_SCALAR('{}'::jsonb) INTO :json;
                                 82         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 83                 :                : 
                                 84                 :              1 :   EXEC SQL SELECT JSON_SERIALIZE(NULL) INTO :json;
                                 85         [ +  - ]:              1 :   printf("Found json=%s\n", json);
                                 86                 :                : 
                                 87                 :              1 :   EXEC SQL SELECT JSON_SERIALIZE(JSON('{ "a" : 1 } ')) INTO :json;
                                 88         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 89                 :                : 
                                 90                 :              1 :   EXEC SQL SELECT JSON_SERIALIZE('{ "a" : 1 } ') INTO :json;
                                 91         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 92                 :                : 
                                 93                 :              1 :   EXEC SQL SELECT JSON_SERIALIZE('1' FORMAT JSON) INTO :json;
                                 94         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 95                 :                : 
                                 96                 :              1 :   EXEC SQL SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING varchar) INTO :json;
                                 97         [ -  + ]:              1 :   printf("Found json=%s\n", json);
                                 98                 :                : 
                                 99                 :              1 :   EXEC SQL SELECT JSON_SERIALIZE('{ "a" : 1 } ' RETURNING jsonb);
                                100         [ +  - ]:              1 :   // error
                                101                 :                : 
  380 alvherre@alvh.no-ip.      102                 :CBC           1 :   EXEC SQL WITH val (js) AS (VALUES ('{ "a": 1, "b": [{ "a": 1, "b": 0, "a": 2 }] }'))
                                103                 :                :       SELECT
                                104                 :                :       js IS JSON "IS JSON",
                                105                 :                :       js IS NOT JSON "IS NOT JSON",
                                106                 :                :       js IS JSON VALUE "IS VALUE",
                                107                 :                :       js IS JSON OBJECT "IS OBJECT",
                                108                 :                :       js IS JSON ARRAY "IS ARRAY",
                                109                 :                :       js IS JSON SCALAR "IS SCALAR",
                                110                 :                :       js IS JSON WITHOUT UNIQUE KEYS "WITHOUT UNIQUE",
                                111                 :                :       js IS JSON WITH UNIQUE KEYS "WITH UNIQUE"
                                112                 :                :           INTO :is_json[0], :is_json[1], :is_json[2], :is_json[3], :is_json[4],
                                113                 :                :           :is_json[5], :is_json[6], :is_json[7]
                                114                 :                :           FROM val;
                                115   [ -  +  +  + ]:              9 :       for (int i = 0; i < sizeof(is_json); i++)
                                116         [ +  + ]:              8 :           printf("Found is_json[%d]: %s\n", i, is_json[i] ? "true" : "false");
                                117                 :                : 
  382                           118                 :              1 :   EXEC SQL DISCONNECT;
                                119         [ -  + ]:              1 : 
                                120                 :              1 :   return 0;
                                121                 :                : }
        

Generated by: LCOV version 2.1-beta2-3-g6141622