LCOV - differential code coverage report
Current view: top level - src/interfaces/ecpg/ecpglib - typename.c (source / functions) Coverage Total Hit UBC CBC
Current: Differential Code Coverage 16@8cea358b128 vs 17@8cea358b128 Lines: 50.0 % 100 50 50 50
Current Date: 2024-04-14 14:21:10 Functions: 100.0 % 3 3 3
Baseline: 16@8cea358b128 Branches: 49.0 % 51 25 26 25
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: 50.0 % 100 50 50 50
Function coverage date bins:
(240..) days: 100.0 % 3 3 3
Branch coverage date bins:
(240..) days: 49.0 % 51 25 26 25

 Age         Owner                    Branch data    TLA  Line data    Source code
                                  1                 :                : /* src/interfaces/ecpg/ecpglib/typename.c */
                                  2                 :                : 
                                  3                 :                : #define POSTGRES_ECPG_INTERNAL
                                  4                 :                : #include "postgres_fe.h"
                                  5                 :                : 
                                  6                 :                : #include "catalog/pg_type_d.h"
                                  7                 :                : #include "ecpglib.h"
                                  8                 :                : #include "ecpglib_extern.h"
                                  9                 :                : #include "ecpgtype.h"
                                 10                 :                : #include "sql3types.h"
                                 11                 :                : #include "sqltypes.h"
                                 12                 :                : 
                                 13                 :                : /*
                                 14                 :                :  * This function is used to generate the correct type names.
                                 15                 :                :  */
                                 16                 :                : const char *
 6038 meskes@postgresql.or       17                 :CBC         533 : ecpg_type_name(enum ECPGttype typ)
                                 18                 :                : {
 7700                            19   [ +  -  +  -  :            533 :     switch (typ)
                                     +  -  +  -  -  
                                     -  +  +  +  +  
                                     +  -  +  -  -  
                                        -  -  -  - ]
                                 20                 :                :     {
                                 21                 :            104 :         case ECPGt_char:
                                 22                 :                :         case ECPGt_string:
                                 23                 :            104 :             return "char";
 7700 meskes@postgresql.or       24                 :UBC           0 :         case ECPGt_unsigned_char:
                                 25                 :              0 :             return "unsigned char";
 7700 meskes@postgresql.or       26                 :CBC          45 :         case ECPGt_short:
                                 27                 :             45 :             return "short";
 7700 meskes@postgresql.or       28                 :UBC           0 :         case ECPGt_unsigned_short:
                                 29                 :              0 :             return "unsigned short";
 7700 meskes@postgresql.or       30                 :CBC         315 :         case ECPGt_int:
                                 31                 :            315 :             return "int";
 7700 meskes@postgresql.or       32                 :UBC           0 :         case ECPGt_unsigned_int:
                                 33                 :              0 :             return "unsigned int";
 7700 meskes@postgresql.or       34                 :CBC          21 :         case ECPGt_long:
                                 35                 :             21 :             return "long";
 7700 meskes@postgresql.or       36                 :UBC           0 :         case ECPGt_unsigned_long:
                                 37                 :              0 :             return "unsigned long";
                                 38                 :              0 :         case ECPGt_long_long:
                                 39                 :              0 :             return "long long";
                                 40                 :              0 :         case ECPGt_unsigned_long_long:
                                 41                 :              0 :             return "unsigned long long";
 7700 meskes@postgresql.or       42                 :CBC           6 :         case ECPGt_float:
                                 43                 :              6 :             return "float";
                                 44                 :             17 :         case ECPGt_double:
                                 45                 :             17 :             return "double";
                                 46                 :             17 :         case ECPGt_bool:
                                 47                 :             17 :             return "bool";
                                 48                 :              1 :         case ECPGt_varchar:
                                 49                 :              1 :             return "varchar";
 1882                            50                 :              1 :         case ECPGt_bytea:
                                 51                 :              1 :             return "bytea";
 7700 meskes@postgresql.or       52                 :UBC           0 :         case ECPGt_char_variable:
                                 53                 :              0 :             return "char";
 7593 meskes@postgresql.or       54                 :CBC           6 :         case ECPGt_decimal:
 7523                            55                 :              6 :             return "decimal";
 7700 meskes@postgresql.or       56                 :UBC           0 :         case ECPGt_numeric:
 7523                            57                 :              0 :             return "numeric";
 7696                            58                 :              0 :         case ECPGt_date:
 7523                            59                 :              0 :             return "date";
 7696                            60                 :              0 :         case ECPGt_timestamp:
 7523                            61                 :              0 :             return "timestamp";
 7689                            62                 :              0 :         case ECPGt_interval:
 7523                            63                 :              0 :             return "interval";
 7604                            64                 :              0 :         case ECPGt_const:
                                 65                 :              0 :             return "Const";
 7700                            66                 :              0 :         default:
                                 67                 :              0 :             abort();
                                 68                 :                :     }
                                 69                 :                :     return "";                    /* keep MSC compiler happy */
                                 70                 :                : }
                                 71                 :                : 
                                 72                 :                : int
 6038 meskes@postgresql.or       73                 :CBC          38 : ecpg_dynamic_type(Oid type)
                                 74                 :                : {
 7700                            75   [ +  -  +  +  :             38 :     switch (type)
                                     -  +  +  -  +  
                                        -  -  -  + ]
                                 76                 :                :     {
                                 77                 :              4 :         case BOOLOID:
                                 78                 :              4 :             return SQL3_BOOLEAN;    /* bool */
 7700 meskes@postgresql.or       79                 :UBC           0 :         case INT2OID:
 2489 tgl@sss.pgh.pa.us          80                 :              0 :             return SQL3_SMALLINT;   /* int2 */
 7700 meskes@postgresql.or       81                 :CBC           4 :         case INT4OID:
                                 82                 :              4 :             return SQL3_INTEGER;    /* int4 */
                                 83                 :              4 :         case TEXTOID:
 2489 tgl@sss.pgh.pa.us          84                 :              4 :             return SQL3_CHARACTER;  /* text */
 7700 meskes@postgresql.or       85                 :UBC           0 :         case FLOAT4OID:
                                 86                 :              0 :             return SQL3_REAL;   /* float4 */
 7700 meskes@postgresql.or       87                 :CBC           4 :         case FLOAT8OID:
 2489 tgl@sss.pgh.pa.us          88                 :              4 :             return SQL3_DOUBLE_PRECISION;   /* float8 */
 7700 meskes@postgresql.or       89                 :              4 :         case BPCHAROID:
 2489 tgl@sss.pgh.pa.us          90                 :              4 :             return SQL3_CHARACTER;  /* bpchar */
 7700 meskes@postgresql.or       91                 :UBC           0 :         case VARCHAROID:
 2489 tgl@sss.pgh.pa.us          92                 :              0 :             return SQL3_CHARACTER_VARYING;  /* varchar */
 7700 meskes@postgresql.or       93                 :CBC           4 :         case DATEOID:
                                 94                 :              4 :             return SQL3_DATE_TIME_TIMESTAMP;    /* date */
 7700 meskes@postgresql.or       95                 :UBC           0 :         case TIMEOID:
                                 96                 :              0 :             return SQL3_DATE_TIME_TIMESTAMP;    /* time */
                                 97                 :              0 :         case TIMESTAMPOID:
                                 98                 :              0 :             return SQL3_DATE_TIME_TIMESTAMP;    /* datetime */
                                 99                 :              0 :         case NUMERICOID:
                                100                 :              0 :             return SQL3_NUMERIC;    /* numeric */
 7700 meskes@postgresql.or      101                 :CBC          14 :         default:
 5205                           102                 :             14 :             return 0;
                                103                 :                :     }
                                104                 :                : }
                                105                 :                : 
                                106                 :                : int
 5213                           107                 :            252 : sqlda_dynamic_type(Oid type, enum COMPAT_MODE compat)
                                108                 :                : {
                                109   [ +  -  +  +  :            252 :     switch (type)
                                     -  +  -  -  -  
                                              +  - ]
                                110                 :                :     {
                                111                 :             94 :         case CHAROID:
                                112                 :                :         case VARCHAROID:
                                113                 :                :         case BPCHAROID:
                                114                 :                :         case TEXTOID:
                                115                 :             94 :             return ECPGt_char;
 5213 meskes@postgresql.or      116                 :UBC           0 :         case INT2OID:
                                117                 :              0 :             return ECPGt_short;
 5213 meskes@postgresql.or      118                 :CBC          52 :         case INT4OID:
                                119                 :             52 :             return ECPGt_int;
                                120                 :             40 :         case FLOAT8OID:
                                121                 :             40 :             return ECPGt_double;
 5213 meskes@postgresql.or      122                 :UBC           0 :         case FLOAT4OID:
                                123                 :              0 :             return ECPGt_float;
 5213 meskes@postgresql.or      124                 :CBC          42 :         case NUMERICOID:
                                125   [ +  +  -  + ]:             42 :             return INFORMIX_MODE(compat) ? ECPGt_decimal : ECPGt_numeric;
 5213 meskes@postgresql.or      126                 :UBC           0 :         case DATEOID:
                                127                 :              0 :             return ECPGt_date;
                                128                 :              0 :         case TIMESTAMPOID:
                                129                 :                :         case TIMESTAMPTZOID:
                                130                 :              0 :             return ECPGt_timestamp;
                                131                 :              0 :         case INTERVALOID:
                                132                 :              0 :             return ECPGt_interval;
 5213 meskes@postgresql.or      133                 :CBC          24 :         case INT8OID:
                                134                 :                : #ifdef HAVE_LONG_LONG_INT_64
                                135                 :                :             return ECPGt_long_long;
                                136                 :                : #endif
                                137                 :                : #ifdef HAVE_LONG_INT_64
                                138                 :             24 :             return ECPGt_long;
                                139                 :                : #endif
                                140                 :                :             /* Unhandled types always return a string */
 5213 meskes@postgresql.or      141                 :UBC           0 :         default:
 5205                           142                 :              0 :             return ECPGt_char;
                                143                 :                :     }
                                144                 :                : }
        

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