YugabyteDB (2.13.0.0-b42, bfc6a6643e7399ac8a0e81d06a3ee6d6571b33ab)

Coverage Report

Created: 2022-03-09 17:30

/Users/deen/code/yugabyte-db/src/postgres/src/include/utils/builtins.h
Line
Count
Source
1
/*-------------------------------------------------------------------------
2
 *
3
 * builtins.h
4
 *    Declarations for operations on built-in types.
5
 *
6
 *
7
 * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
8
 * Portions Copyright (c) 1994, Regents of the University of California
9
 *
10
 * src/include/utils/builtins.h
11
 *
12
 *-------------------------------------------------------------------------
13
 */
14
#ifndef BUILTINS_H
15
#define BUILTINS_H
16
17
#include "fmgr.h"
18
#include "nodes/nodes.h"
19
#include "utils/fmgrprotos.h"
20
21
22
/* bool.c */
23
extern bool parse_bool(const char *value, bool *result);
24
extern bool parse_bool_with_len(const char *value, size_t len, bool *result);
25
26
/* domains.c */
27
extern void domain_check(Datum value, bool isnull, Oid domainType,
28
       void **extra, MemoryContext mcxt);
29
extern int  errdatatype(Oid datatypeOid);
30
extern int  errdomainconstraint(Oid datatypeOid, const char *conname);
31
32
/* encode.c */
33
extern unsigned hex_encode(const char *src, unsigned len, char *dst);
34
extern unsigned hex_decode(const char *src, unsigned len, char *dst);
35
36
/* int.c */
37
extern int2vector *buildint2vector(const int16 *int2s, int n);
38
39
/* name.c */
40
extern int  namecpy(Name n1, Name n2);
41
extern int  namestrcpy(Name name, const char *str);
42
extern int  namestrcmp(Name name, const char *str);
43
44
/* numutils.c */
45
extern int32 pg_atoi(const char *s, int size, int c);
46
extern void pg_itoa(int16 i, char *a);
47
extern void pg_ltoa(int32 l, char *a);
48
extern void pg_lltoa(int64 ll, char *a);
49
extern char *pg_ltostr_zeropad(char *str, int32 value, int32 minwidth);
50
extern char *pg_ltostr(char *str, int32 value);
51
extern uint64 pg_strtouint64(const char *str, char **endptr, int base);
52
53
/* oid.c */
54
extern oidvector *buildoidvector(const Oid *oids, int n);
55
extern Oid  oidparse(Node *node);
56
extern int  oid_cmp(const void *p1, const void *p2);
57
58
/* regexp.c */
59
extern char *regexp_fixed_prefix(text *text_re, bool case_insensitive,
60
          Oid collation, bool *exact);
61
62
/* ruleutils.c */
63
extern bool quote_all_identifiers;
64
extern const char *quote_identifier(const char *ident);
65
extern char *quote_qualified_identifier(const char *qualifier,
66
               const char *ident);
67
extern void generate_operator_clause(fmStringInfo buf,
68
             const char *leftop, Oid leftoptype,
69
             Oid opoid,
70
             const char *rightop, Oid rightoptype);
71
72
/* varchar.c */
73
extern int  bpchartruelen(char *s, int len);
74
75
/* popular functions from varlena.c */
76
extern text *cstring_to_text(const char *s);
77
extern text *cstring_to_text_with_len(const char *s, int len);
78
extern char *text_to_cstring(const text *t);
79
extern void text_to_cstring_buffer(const text *src, char *dst, size_t dst_len);
80
81
/* pg_locale.c */
82
extern bool lc_collate_is_c(Oid collation);
83
84
2.69k
#define CStringGetTextDatum(s) PointerGetDatum(cstring_to_text(s))
85
421k
#define TextDatumGetCString(d) text_to_cstring((text *) DatumGetPointer(d))
86
87
/* xid.c */
88
extern int  xidComparator(const void *arg1, const void *arg2);
89
90
/* inet_cidr_ntop.c */
91
extern char *inet_cidr_ntop(int af, const void *src, int bits,
92
         char *dst, size_t size);
93
94
/* inet_net_pton.c */
95
extern int inet_net_pton(int af, const char *src,
96
        void *dst, size_t size);
97
98
/* network.c */
99
extern double convert_network_to_scalar(Datum value, Oid typid, bool *failure);
100
extern Datum network_scan_first(Datum in);
101
extern Datum network_scan_last(Datum in);
102
extern void clean_ipv6_addr(int addr_family, char *addr);
103
104
/* numeric.c */
105
extern Datum numeric_float8_no_overflow(PG_FUNCTION_ARGS);
106
107
/* format_type.c */
108
109
/* Control flags for format_type_extended */
110
7.80k
#define FORMAT_TYPE_TYPEMOD_GIVEN 0x01  /* typemod defined by caller */
111
228
#define FORMAT_TYPE_ALLOW_INVALID 0x02  /* allow invalid types */
112
6.31k
#define FORMAT_TYPE_FORCE_QUALIFY 0x04  /* force qualification of type */
113
extern char *format_type_extended(Oid type_oid, int32 typemod, bits16 flags);
114
115
extern char *format_type_be(Oid type_oid);
116
extern char *format_type_be_qualified(Oid type_oid);
117
extern char *format_type_with_typemod(Oid type_oid, int32 typemod);
118
119
extern int32 type_maximum_size(Oid type_oid, int32 typemod);
120
121
/* quote.c */
122
extern char *quote_literal_cstr(const char *rawstr);
123
124
#endif              /* BUILTINS_H */