LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/ecpglib - typename.c (source / functions) Coverage Total Hit
Test: Code coverage Lines: 0.0 % 56 0
Test Date: 2026-01-26 10:56:24 Functions: 0.0 % 3 0
Legend: Lines:     hit not hit

            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 *
      17            0 : ecpg_type_name(enum ECPGttype typ)
      18              : {
      19            0 :         switch (typ)
      20              :         {
      21              :                 case ECPGt_char:
      22              :                 case ECPGt_string:
      23            0 :                         return "char";
      24              :                 case ECPGt_unsigned_char:
      25            0 :                         return "unsigned char";
      26              :                 case ECPGt_short:
      27            0 :                         return "short";
      28              :                 case ECPGt_unsigned_short:
      29            0 :                         return "unsigned short";
      30              :                 case ECPGt_int:
      31            0 :                         return "int";
      32              :                 case ECPGt_unsigned_int:
      33            0 :                         return "unsigned int";
      34              :                 case ECPGt_long:
      35            0 :                         return "long";
      36              :                 case ECPGt_unsigned_long:
      37            0 :                         return "unsigned long";
      38              :                 case ECPGt_long_long:
      39            0 :                         return "long long";
      40              :                 case ECPGt_unsigned_long_long:
      41            0 :                         return "unsigned long long";
      42              :                 case ECPGt_float:
      43            0 :                         return "float";
      44              :                 case ECPGt_double:
      45            0 :                         return "double";
      46              :                 case ECPGt_bool:
      47            0 :                         return "bool";
      48              :                 case ECPGt_varchar:
      49            0 :                         return "varchar";
      50              :                 case ECPGt_bytea:
      51            0 :                         return "bytea";
      52              :                 case ECPGt_char_variable:
      53            0 :                         return "char";
      54              :                 case ECPGt_decimal:
      55            0 :                         return "decimal";
      56              :                 case ECPGt_numeric:
      57            0 :                         return "numeric";
      58              :                 case ECPGt_date:
      59            0 :                         return "date";
      60              :                 case ECPGt_timestamp:
      61            0 :                         return "timestamp";
      62              :                 case ECPGt_interval:
      63            0 :                         return "interval";
      64              :                 case ECPGt_const:
      65            0 :                         return "Const";
      66              :                 default:
      67            0 :                         abort();
      68              :         }
      69              :         return "";                                    /* keep MSC compiler happy */
      70            0 : }
      71              : 
      72              : int
      73            0 : ecpg_dynamic_type(Oid type)
      74              : {
      75            0 :         switch (type)
      76              :         {
      77              :                 case BOOLOID:
      78            0 :                         return SQL3_BOOLEAN;    /* bool */
      79              :                 case INT2OID:
      80            0 :                         return SQL3_SMALLINT;   /* int2 */
      81              :                 case INT4OID:
      82            0 :                         return SQL3_INTEGER;    /* int4 */
      83              :                 case TEXTOID:
      84            0 :                         return SQL3_CHARACTER;  /* text */
      85              :                 case FLOAT4OID:
      86            0 :                         return SQL3_REAL;       /* float4 */
      87              :                 case FLOAT8OID:
      88            0 :                         return SQL3_DOUBLE_PRECISION;   /* float8 */
      89              :                 case BPCHAROID:
      90            0 :                         return SQL3_CHARACTER;  /* bpchar */
      91              :                 case VARCHAROID:
      92            0 :                         return SQL3_CHARACTER_VARYING;  /* varchar */
      93              :                 case DATEOID:
      94            0 :                         return SQL3_DATE_TIME_TIMESTAMP;        /* date */
      95              :                 case TIMEOID:
      96            0 :                         return SQL3_DATE_TIME_TIMESTAMP;        /* time */
      97              :                 case TIMESTAMPOID:
      98            0 :                         return SQL3_DATE_TIME_TIMESTAMP;        /* datetime */
      99              :                 case NUMERICOID:
     100            0 :                         return SQL3_NUMERIC;    /* numeric */
     101              :                 default:
     102            0 :                         return 0;
     103              :         }
     104            0 : }
     105              : 
     106              : int
     107            0 : sqlda_dynamic_type(Oid type, enum COMPAT_MODE compat)
     108              : {
     109            0 :         switch (type)
     110              :         {
     111              :                 case CHAROID:
     112              :                 case VARCHAROID:
     113              :                 case BPCHAROID:
     114              :                 case TEXTOID:
     115            0 :                         return ECPGt_char;
     116              :                 case INT2OID:
     117            0 :                         return ECPGt_short;
     118              :                 case INT4OID:
     119            0 :                         return ECPGt_int;
     120              :                 case FLOAT8OID:
     121            0 :                         return ECPGt_double;
     122              :                 case FLOAT4OID:
     123            0 :                         return ECPGt_float;
     124              :                 case NUMERICOID:
     125            0 :                         return INFORMIX_MODE(compat) ? ECPGt_decimal : ECPGt_numeric;
     126              :                 case DATEOID:
     127            0 :                         return ECPGt_date;
     128              :                 case TIMESTAMPOID:
     129              :                 case TIMESTAMPTZOID:
     130            0 :                         return ECPGt_timestamp;
     131              :                 case INTERVALOID:
     132            0 :                         return ECPGt_interval;
     133              :                 case INT8OID:
     134              : #if SIZEOF_LONG == 8
     135            0 :                         return ECPGt_long;
     136              : #elif SIZEOF_LONG_LONG == 8
     137              :                         return ECPGt_long_long;
     138              : #else
     139              : #error "cannot find integer type of the same size as INT8OID"
     140              : #endif
     141              :                         /* Unhandled types always return a string */
     142              :                 default:
     143            0 :                         return ECPGt_char;
     144              :         }
     145            0 : }
        

Generated by: LCOV version 2.3.2-1