PostgreSQL Source Code: src/include/utils/arrayaccess.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef ARRAYACCESS_H
15#define ARRAYACCESS_H
16
19
20
21
22
23
24
25
26
27
28
29
30
31
32
34{
35
36
37
40
41
46
47
48static inline void
50{
52 {
53 if (a->xpn.dvalues)
54 {
57
60 }
61 else
62 {
63
68 }
69 }
70 else
71 {
76 }
78}
79
80static inline Datum
82 int elmlen, bool elmbyval, char elmalign)
83{
85
87 {
90 }
91 else
92 {
94 {
95 *isnull = true;
97 }
98 else
99 {
100 *isnull = false;
105 }
107 if (it->bitmask == 0x100)
108 {
112 }
113 }
114
115 return ret;
116}
117
118#endif
#define ARR_NULLBITMAP(a)
static Datum array_iter_next(array_iter *it, bool *isnull, int i, int elmlen, bool elmbyval, char elmalign)
static void array_iter_setup(array_iter *it, AnyArrayType *a)
struct array_iter array_iter
#define VARATT_IS_EXPANDED_HEADER(PTR)
#define att_align_nominal(cur_offset, attalign)
#define att_addlength_pointer(cur_offset, attlen, attptr)
static Datum fetch_att(const void *T, bool attbyval, int attlen)