Definition at line 48 of file aio_funcs.c.
49{
51
53
54#define PG_GET_AIOS_COLS 15
55
57 {
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86
87
88
89
90
91retry:
93 start_state = live_ioh->
state;
94
96 continue;
97
98
100
101
102
103
104
107
108
109
110
111
112
115 owner_pid = owner_proc->
pid;
116
117
119
120
121
122
123
124
125
127 continue;
128
129
130
131
132
133
134
135 if (live_ioh->
state != start_state)
136 goto retry;
137
138
139
140
141
142
143
144 live_ioh = NULL;
145 owner_proc = NULL;
146
147
148
149 if (owner_pid != 0)
151 else
152 nulls[0] = false;
153
154
156
157
159
160
162
163
164
165
166
167
169 {
170 memset(nulls + 4, 1, (
lengthof(nulls) - 4) *
sizeof(
bool));
171 goto display;
172 }
173
174
176
177
179 {
181 nulls[5] = true;
182 nulls[6] = true;
183 break;
188 break;
193 break;
194 }
195
196
198
199
201
202
207 else
208 nulls[9] = true;
209
210
211
212
213
216
217
219
220
224
225display:
227 }
228
230}
int pgaio_io_get_id(PgAioHandle *ioh)
const char * pgaio_result_status_string(PgAioResultStatus rs)
const char * pgaio_io_get_state_name(PgAioHandle *ioh)
@ PGAIO_HF_REFERENCES_LOCAL
static size_t iov_byte_length(const struct iovec *iov, int cnt)
@ PGAIO_HS_COMPLETED_SHARED
@ PGAIO_HS_COMPLETED_LOCAL
const char * pgaio_io_get_op_name(PgAioHandle *ioh)
const char * pgaio_io_get_target_name(PgAioHandle *ioh)
char * pgaio_io_get_target_description(PgAioHandle *ioh)
#define pg_read_barrier()
static Datum values[MAXATTR]
#define CStringGetTextDatum(s)
Datum Int64GetDatum(int64 X)
void InitMaterializedSRF(FunctionCallInfo fcinfo, bits32 flags)
static Datum Int16GetDatum(int16 X)
static Datum BoolGetDatum(bool X)
static Datum Int32GetDatum(int32 X)
#define GetPGProcByNumber(n)
PgAioResult distilled_result
Tuplestorestate * setResult
void tuplestore_putvalues(Tuplestorestate *state, TupleDesc tdesc, const Datum *values, const bool *isnull)
struct PgAioOpData::@123 write
struct PgAioOpData::@122 read
References BoolGetDatum(), CStringGetTextDatum, PgAioHandle::distilled_result, PgAioHandle::flags, PgAioHandle::generation, GetPGProcByNumber, PgAioHandle::handle_data_len, i, InitMaterializedSRF(), Int16GetDatum(), Int32GetDatum(), Int64GetDatum(), PgAioCtl::io_handle_count, PgAioCtl::io_handles, iov_byte_length(), PgAioOpData::iov_length, PgAioHandle::iovec_off, PgAioCtl::iovecs, lengthof, PgAioOpData::offset, PgAioHandle::op, PgAioHandle::op_data, PgAioHandle::owner_procno, PG_GET_AIOS_COLS, PG_IOV_MAX, pg_read_barrier, pgaio_ctl, PGAIO_HF_BUFFERED, PGAIO_HF_REFERENCES_LOCAL, PGAIO_HF_SYNCHRONOUS, PGAIO_HS_COMPLETED_IO, PGAIO_HS_COMPLETED_LOCAL, PGAIO_HS_COMPLETED_SHARED, PGAIO_HS_HANDED_OUT, PGAIO_HS_IDLE, pgaio_io_get_id(), pgaio_io_get_op_name(), pgaio_io_get_state_name(), pgaio_io_get_target_description(), pgaio_io_get_target_name(), PGAIO_OP_INVALID, PGAIO_OP_READV, PGAIO_OP_WRITEV, pgaio_result_status_string(), PGPROC::pid, PgAioOpData::read, PgAioHandle::result, ReturnSetInfo::setDesc, ReturnSetInfo::setResult, PgAioHandle::state, PgAioResult::status, tuplestore_putvalues(), values, and PgAioOpData::write.