LCOV - code coverage report
Current view: top level - contrib/btree_gist - btree_gist.c (source / functions) Coverage Total Hit
Test: PostgreSQL 20devel Lines: 51.9 % 27 14
Test Date: 2026-07-03 19:57:34 Functions: 77.8 % 9 7
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
Branches: 20.0 % 10 2

             Branch data     Line data    Source code
       1                 :             : /*
       2                 :             :  * contrib/btree_gist/btree_gist.c
       3                 :             :  */
       4                 :             : #include "postgres.h"
       5                 :             : 
       6                 :             : #include "access/cmptype.h"
       7                 :             : #include "access/stratnum.h"
       8                 :             : #include "utils/builtins.h"
       9                 :             : 
      10                 :          33 : PG_MODULE_MAGIC_EXT(
      11                 :             :                     .name = "btree_gist",
      12                 :             :                     .version = PG_VERSION
      13                 :             : );
      14                 :             : 
      15                 :          27 : PG_FUNCTION_INFO_V1(gbt_decompress);
      16                 :          18 : PG_FUNCTION_INFO_V1(gbtreekey_in);
      17                 :          18 : PG_FUNCTION_INFO_V1(gbtreekey_out);
      18                 :           5 : PG_FUNCTION_INFO_V1(gist_translate_cmptype_btree);
      19                 :             : 
      20                 :             : /**************************************************
      21                 :             :  * In/Out for keys
      22                 :             :  **************************************************/
      23                 :             : 
      24                 :             : 
      25                 :             : Datum
      26                 :           0 : gbtreekey_in(PG_FUNCTION_ARGS)
      27                 :             : {
      28                 :           0 :     Oid         typioparam = PG_GETARG_OID(1);
      29                 :             : 
      30         [ #  # ]:           0 :     ereport(ERROR,
      31                 :             :             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
      32                 :             :              errmsg("cannot accept a value of type %s",
      33                 :             :                     format_type_extended(typioparam, -1,
      34                 :             :                                          FORMAT_TYPE_ALLOW_INVALID))));
      35                 :             : 
      36                 :             :     PG_RETURN_VOID();           /* keep compiler quiet */
      37                 :             : }
      38                 :             : 
      39                 :             : Datum
      40                 :           0 : gbtreekey_out(PG_FUNCTION_ARGS)
      41                 :             : {
      42                 :             :     /* Sadly, we do not receive any indication of the specific type */
      43         [ #  # ]:           0 :     ereport(ERROR,
      44                 :             :             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
      45                 :             :              errmsg("cannot display a value of type %s", "gbtreekey?")));
      46                 :             : 
      47                 :             :     PG_RETURN_VOID();           /* keep compiler quiet */
      48                 :             : }
      49                 :             : 
      50                 :             : 
      51                 :             : /*
      52                 :             :  * GiST DeCompress methods
      53                 :             :  * do not do anything.
      54                 :             :  */
      55                 :             : Datum
      56                 :      110186 : gbt_decompress(PG_FUNCTION_ARGS)
      57                 :             : {
      58                 :      110186 :     PG_RETURN_POINTER(PG_GETARG_POINTER(0));
      59                 :             : }
      60                 :             : 
      61                 :             : /*
      62                 :             :  * Returns the btree number for supported operators, otherwise invalid.
      63                 :             :  */
      64                 :             : Datum
      65                 :           5 : gist_translate_cmptype_btree(PG_FUNCTION_ARGS)
      66                 :             : {
      67                 :           5 :     CompareType cmptype = PG_GETARG_INT32(0);
      68                 :             : 
      69   [ +  -  -  -  :           5 :     switch (cmptype)
                   -  + ]
      70                 :             :     {
      71                 :           4 :         case COMPARE_EQ:
      72                 :           4 :             PG_RETURN_UINT16(BTEqualStrategyNumber);
      73                 :           0 :         case COMPARE_LT:
      74                 :           0 :             PG_RETURN_UINT16(BTLessStrategyNumber);
      75                 :           0 :         case COMPARE_LE:
      76                 :           0 :             PG_RETURN_UINT16(BTLessEqualStrategyNumber);
      77                 :           0 :         case COMPARE_GT:
      78                 :           0 :             PG_RETURN_UINT16(BTGreaterStrategyNumber);
      79                 :           0 :         case COMPARE_GE:
      80                 :           0 :             PG_RETURN_UINT16(BTGreaterEqualStrategyNumber);
      81                 :           1 :         default:
      82                 :           1 :             PG_RETURN_UINT16(InvalidStrategy);
      83                 :             :     }
      84                 :             : }
        

Generated by: LCOV version 2.0-1