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().