PostgreSQL Source Code: src/include/utils/arrayaccess.h File Reference (original) (raw)
Go to the source code of this file.
◆ array_iter
◆ array_iter_next()
static Datum array_iter_next ( array_iter * it, bool * isnull, int i, int elmlen, bool elmbyval, char elmalign ) | inlinestatic |
---|
Definition at line 81 of file arrayaccess.h.
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}
#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)
References att_addlength_pointer, att_align_nominal, array_iter::bitmapptr, array_iter::bitmask, array_iter::dataptr, array_iter::datumptr, fetch_att(), i, and array_iter::isnullptr.
Referenced by array_cmp(), array_contain_compare(), array_eq(), array_map(), array_out(), array_send(), array_unnest(), hash_array(), and hash_array_extended().
◆ array_iter_setup()
Definition at line 49 of file arrayaccess.h.
50{
52 {
53 if (a->xpn.dvalues)
54 {
57
60 }
61 else
62 {
63
68 }
69 }
70 else
71 {
76 }
78}
#define ARR_NULLBITMAP(a)
#define VARATT_IS_EXPANDED_HEADER(PTR)
References a, ARR_DATA_PTR, ARR_NULLBITMAP, array_iter::bitmapptr, array_iter::bitmask, array_iter::dataptr, array_iter::datumptr, array_iter::isnullptr, and VARATT_IS_EXPANDED_HEADER.
Referenced by array_cmp(), array_contain_compare(), array_eq(), array_map(), array_out(), array_send(), array_unnest(), hash_array(), and hash_array_extended().