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 HEAD vs 15 Lines: 28.0 % 100 28 72 28
Current Date: 2023-04-08 17:13:01 Functions: 66.7 % 3 2 1 2
Baseline: 15 Line coverage date bins:
Baseline Date: 2023-04-08 15:09:40 (240..) days: 28.0 % 100 28 72 28
Legend: Lines: hit not hit Function coverage date bins:
(240..) days: 66.7 % 3 2 1 2

 Age         Owner                  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 *
 5667 meskes                     17 UBC           0 : ecpg_type_name(enum ECPGttype typ)
                                 18                 : {
 7329                            19               0 :     switch (typ)
                                 20                 :     {
                                 21               0 :         case ECPGt_char:
                                 22                 :         case ECPGt_string:
                                 23               0 :             return "char";
                                 24               0 :         case ECPGt_unsigned_char:
                                 25               0 :             return "unsigned char";
                                 26               0 :         case ECPGt_short:
                                 27               0 :             return "short";
                                 28               0 :         case ECPGt_unsigned_short:
                                 29               0 :             return "unsigned short";
                                 30               0 :         case ECPGt_int:
                                 31               0 :             return "int";
                                 32               0 :         case ECPGt_unsigned_int:
                                 33               0 :             return "unsigned int";
                                 34               0 :         case ECPGt_long:
                                 35               0 :             return "long";
                                 36               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";
                                 42               0 :         case ECPGt_float:
                                 43               0 :             return "float";
                                 44               0 :         case ECPGt_double:
                                 45               0 :             return "double";
                                 46               0 :         case ECPGt_bool:
                                 47               0 :             return "bool";
                                 48               0 :         case ECPGt_varchar:
                                 49               0 :             return "varchar";
 1511                            50               0 :         case ECPGt_bytea:
                                 51               0 :             return "bytea";
 7329                            52               0 :         case ECPGt_char_variable:
                                 53               0 :             return "char";
 7222                            54               0 :         case ECPGt_decimal:
 7152                            55               0 :             return "decimal";
 7329                            56               0 :         case ECPGt_numeric:
 7152                            57               0 :             return "numeric";
 7325                            58               0 :         case ECPGt_date:
 7152                            59               0 :             return "date";
 7325                            60               0 :         case ECPGt_timestamp:
 7152                            61               0 :             return "timestamp";
 7318                            62               0 :         case ECPGt_interval:
 7152                            63               0 :             return "interval";
 7233                            64               0 :         case ECPGt_const:
                                 65               0 :             return "Const";
 7329                            66               0 :         default:
                                 67               0 :             abort();
                                 68                 :     }
                                 69                 :     return "";                    /* keep MSC compiler happy */
                                 70                 : }
                                 71                 : 
                                 72                 : int
 5667 meskes                     73 CBC          38 : ecpg_dynamic_type(Oid type)
                                 74                 : {
 7329                            75              38 :     switch (type)
                                 76                 :     {
                                 77               4 :         case BOOLOID:
                                 78               4 :             return SQL3_BOOLEAN;    /* bool */
 7329 meskes                     79 UBC           0 :         case INT2OID:
 2118 tgl                        80               0 :             return SQL3_SMALLINT;   /* int2 */
 7329 meskes                     81 CBC           4 :         case INT4OID:
                                 82               4 :             return SQL3_INTEGER;    /* int4 */
                                 83               4 :         case TEXTOID:
 2118 tgl                        84               4 :             return SQL3_CHARACTER;  /* text */
 7329 meskes                     85 UBC           0 :         case FLOAT4OID:
                                 86               0 :             return SQL3_REAL;   /* float4 */
 7329 meskes                     87 CBC           4 :         case FLOAT8OID:
 2118 tgl                        88               4 :             return SQL3_DOUBLE_PRECISION;   /* float8 */
 7329 meskes                     89               4 :         case BPCHAROID:
 2118 tgl                        90               4 :             return SQL3_CHARACTER;  /* bpchar */
 7329 meskes                     91 UBC           0 :         case VARCHAROID:
 2118 tgl                        92               0 :             return SQL3_CHARACTER_VARYING;  /* varchar */
 7329 meskes                     93 CBC           4 :         case DATEOID:
                                 94               4 :             return SQL3_DATE_TIME_TIMESTAMP;    /* date */
 7329 meskes                     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 */
 7329 meskes                    101 CBC          14 :         default:
 4834                           102              14 :             return 0;
                                103                 :     }
                                104                 : }
                                105                 : 
                                106                 : int
 4842                           107             248 : sqlda_dynamic_type(Oid type, enum COMPAT_MODE compat)
                                108                 : {
                                109             248 :     switch (type)
                                110                 :     {
                                111              92 :         case CHAROID:
                                112                 :         case VARCHAROID:
                                113                 :         case BPCHAROID:
                                114                 :         case TEXTOID:
                                115              92 :             return ECPGt_char;
 4842 meskes                    116 UBC           0 :         case INT2OID:
                                117               0 :             return ECPGt_short;
 4842 meskes                    118 CBC          52 :         case INT4OID:
                                119              52 :             return ECPGt_int;
                                120              40 :         case FLOAT8OID:
                                121              40 :             return ECPGt_double;
 4842 meskes                    122 UBC           0 :         case FLOAT4OID:
                                123               0 :             return ECPGt_float;
 4842 meskes                    124 CBC          40 :         case NUMERICOID:
                                125              40 :             return INFORMIX_MODE(compat) ? ECPGt_decimal : ECPGt_numeric;
 4842 meskes                    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;
 4842 meskes                    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 */
 4842 meskes                    141 UBC           0 :         default:
 4834                           142               0 :             return ECPGt_char;
                                143                 :     }
                                144                 : }
        

Generated by: LCOV version v1.16-55-g56c0a2a