150{
155
156
158 {
161
164
166 elog(
ERROR,
"return type must be a row type");
168
169
174
176 }
177
180
182 {
189 const char *status;
194 bool nulls[4] = {0};
197
199
200
202 {
207 continue;
208 }
209
211
212
215 {
217 continue;
218 }
220
221
224
225
227
228
229 memset(nulls,
false,
sizeof(nulls));
230
231
232 if (codepoint <= 0
xFFFF)
234 else
237
238
241
242
247
248
250 {
252
258 }
259 else
260 {
261 nulls[3] = true;
263 }
264
265
268
269
271
273 }
274
275
277}
static Datum values[MAXATTR]
#define CStringGetTextDatum(s)
memcpy(sums, checksumBaseOffsets, sizeof(checksumBaseOffsets))
TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, Oid *resultTypeId, TupleDesc *resultTupleDesc)
#define SRF_IS_FIRSTCALL()
#define SRF_PERCALL_SETUP()
#define SRF_RETURN_NEXT(_funcctx, _result)
#define SRF_FIRSTCALL_INIT()
static Datum HeapTupleGetDatum(const HeapTupleData *tuple)
#define SRF_RETURN_DONE(_funcctx)
HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, const Datum *values, const bool *isnull)
void pfree(void *pointer)
#define CHECK_FOR_INTERRUPTS()
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
static unsigned char * unicode_to_utf8(char32_t c, unsigned char *utf8string)
static int unicode_utf8len(char32_t c)
#define PointerGetDatum(X)
static struct cvec * range(struct vars *v, chr a, chr b, int cases)
pg_saslprep_rc pg_saslprep(const char *input, char **output)
char32_t current_codepoint
static const char * saslprep_status_to_text(pg_saslprep_rc rc)
#define PG_UTF8_TEST_RANGES_LEN
static const pg_utf8_codepoint_range pg_utf8_test_ranges[]
static char * VARDATA(const void *PTR)
static void SET_VARSIZE(void *PTR, Size len)