LCOV - differential code coverage report
Current view: top level - src/backend/utils/adt - oid8.c (source / functions) Coverage Total Hit UNC GNC
Current: 0e5ff9b9b45a657aea12440478dc002e9b01f138 vs 0123ce131fca454009439dfa3b2266d1d40737d7 Lines: 85.5 % 55 47 8 47
Current Date: 2026-03-14 14:10:32 -0400 Functions: 85.7 % 14 12 2 12
Baseline: lcov-20260315-024220-baseline Line coverage date bins:
Baseline Date: 2026-03-14 15:27:56 +0100 (30,360] days: 85.5 % 55 47 8 47
Legend: Lines:     hit not hit Function coverage date bins:
(30,360] days: 85.7 % 14 12 2 12

 Age         Owner                  TLA  Line data    Source code
                                  1                 : /*-------------------------------------------------------------------------
                                  2                 :  *
                                  3                 :  * oid8.c
                                  4                 :  *    Functions for the built-in type Oid8
                                  5                 :  *
                                  6                 :  * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
                                  7                 :  * Portions Copyright (c) 1994, Regents of the University of California
                                  8                 :  *
                                  9                 :  *
                                 10                 :  * IDENTIFICATION
                                 11                 :  *    src/backend/utils/adt/oid8.c
                                 12                 :  *
                                 13                 :  *-------------------------------------------------------------------------
                                 14                 :  */
                                 15                 : #include "postgres.h"
                                 16                 : 
                                 17                 : #include "catalog/pg_type.h"
                                 18                 : #include "libpq/pqformat.h"
                                 19                 : #include "utils/builtins.h"
                                 20                 : 
                                 21                 : #define MAXOID8LEN 20
                                 22                 : 
                                 23                 : /*****************************************************************************
                                 24                 :  *   USER I/O ROUTINES                                                       *
                                 25                 :  *****************************************************************************/
                                 26                 : 
                                 27                 : Datum
   67 michael@paquier.xyz        28 GNC        1596 : oid8in(PG_FUNCTION_ARGS)
                                 29                 : {
                                 30            1596 :     char       *s = PG_GETARG_CSTRING(0);
                                 31                 :     Oid8        result;
                                 32                 : 
                                 33            1596 :     result = uint64in_subr(s, NULL, "oid8", fcinfo->context);
                                 34            1563 :     PG_RETURN_OID8(result);
                                 35                 : }
                                 36                 : 
                                 37                 : Datum
                                 38             442 : oid8out(PG_FUNCTION_ARGS)
                                 39                 : {
                                 40             442 :     Oid8        val = PG_GETARG_OID8(0);
                                 41                 :     char        buf[MAXOID8LEN + 1];
                                 42                 :     char       *result;
                                 43                 :     int         len;
                                 44                 : 
                                 45             442 :     len = pg_ulltoa_n(val, buf) + 1;
                                 46             442 :     buf[len - 1] = '\0';
                                 47                 : 
                                 48                 :     /*
                                 49                 :      * Since the length is already known, we do a manual palloc() and memcpy()
                                 50                 :      * to avoid the strlen() call that would otherwise be done in pstrdup().
                                 51                 :      */
                                 52             442 :     result = palloc(len);
                                 53             442 :     memcpy(result, buf, len);
                                 54             442 :     PG_RETURN_CSTRING(result);
                                 55                 : }
                                 56                 : 
                                 57                 : /*
                                 58                 :  *      oid8recv            - converts external binary format to oid8
                                 59                 :  */
                                 60                 : Datum
   67 michael@paquier.xyz        61 UNC           0 : oid8recv(PG_FUNCTION_ARGS)
                                 62                 : {
                                 63               0 :     StringInfo  buf = (StringInfo) PG_GETARG_POINTER(0);
                                 64                 : 
                                 65               0 :     PG_RETURN_OID8(pq_getmsgint64(buf));
                                 66                 : }
                                 67                 : 
                                 68                 : /*
                                 69                 :  *      oid8send            - converts oid8 to binary format
                                 70                 :  */
                                 71                 : Datum
                                 72               0 : oid8send(PG_FUNCTION_ARGS)
                                 73                 : {
                                 74               0 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                 75                 :     StringInfoData buf;
                                 76                 : 
                                 77               0 :     pq_begintypsend(&buf);
                                 78               0 :     pq_sendint64(&buf, arg1);
                                 79               0 :     PG_RETURN_BYTEA_P(pq_endtypsend(&buf));
                                 80                 : }
                                 81                 : 
                                 82                 : /*****************************************************************************
                                 83                 :  *   PUBLIC ROUTINES                                                         *
                                 84                 :  *****************************************************************************/
                                 85                 : 
                                 86                 : Datum
   67 michael@paquier.xyz        87 GNC        1230 : oid8eq(PG_FUNCTION_ARGS)
                                 88                 : {
                                 89            1230 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                 90            1230 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                 91                 : 
                                 92            1230 :     PG_RETURN_BOOL(arg1 == arg2);
                                 93                 : }
                                 94                 : 
                                 95                 : Datum
                                 96              30 : oid8ne(PG_FUNCTION_ARGS)
                                 97                 : {
                                 98              30 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                 99              30 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                100                 : 
                                101              30 :     PG_RETURN_BOOL(arg1 != arg2);
                                102                 : }
                                103                 : 
                                104                 : Datum
                                105              30 : oid8lt(PG_FUNCTION_ARGS)
                                106                 : {
                                107              30 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                108              30 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                109                 : 
                                110              30 :     PG_RETURN_BOOL(arg1 < arg2);
                                111                 : }
                                112                 : 
                                113                 : Datum
                                114              30 : oid8le(PG_FUNCTION_ARGS)
                                115                 : {
                                116              30 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                117              30 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                118                 : 
                                119              30 :     PG_RETURN_BOOL(arg1 <= arg2);
                                120                 : }
                                121                 : 
                                122                 : Datum
                                123              30 : oid8ge(PG_FUNCTION_ARGS)
                                124                 : {
                                125              30 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                126              30 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                127                 : 
                                128              30 :     PG_RETURN_BOOL(arg1 >= arg2);
                                129                 : }
                                130                 : 
                                131                 : Datum
                                132              30 : oid8gt(PG_FUNCTION_ARGS)
                                133                 : {
                                134              30 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                135              30 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                136                 : 
                                137              30 :     PG_RETURN_BOOL(arg1 > arg2);
                                138                 : }
                                139                 : 
                                140                 : Datum
                                141            1566 : hashoid8(PG_FUNCTION_ARGS)
                                142                 : {
                                143            1566 :     return hashint8(fcinfo);
                                144                 : }
                                145                 : 
                                146                 : Datum
                                147              36 : hashoid8extended(PG_FUNCTION_ARGS)
                                148                 : {
                                149              36 :     return hashint8extended(fcinfo);
                                150                 : }
                                151                 : 
                                152                 : Datum
                                153              27 : oid8larger(PG_FUNCTION_ARGS)
                                154                 : {
                                155              27 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                156              27 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                157                 : 
                                158              27 :     PG_RETURN_OID8((arg1 > arg2) ? arg1 : arg2);
                                159                 : }
                                160                 : 
                                161                 : Datum
                                162              27 : oid8smaller(PG_FUNCTION_ARGS)
                                163                 : {
                                164              27 :     Oid8        arg1 = PG_GETARG_OID8(0);
                                165              27 :     Oid8        arg2 = PG_GETARG_OID8(1);
                                166                 : 
                                167              27 :     PG_RETURN_OID8((arg1 < arg2) ? arg1 : arg2);
                                168                 : }
        

Generated by: LCOV version 2.4-beta