67 for (
int i = 0;
i < nattrs;
i++)
83 else if (receiver->
format == 1)
93 (
errcode(ERRCODE_INVALID_PARAMETER_VALUE),
94 errmsg(
"unsupported format code: %d", receiver->
format)));
111 int natts = typeinfo->
natts;
145 for (
int i = 0;
i < natts;
i++)
229 "SerializeTupleReceive",
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
static void serializeAnalyzeStartup(DestReceiver *self, int operation, TupleDesc typeinfo)
SerializeMetrics GetSerializationMetrics(DestReceiver *dest)
static void serialize_prepare_info(SerializeDestReceiver *receiver, TupleDesc typeinfo, int nattrs)
static void serializeAnalyzeDestroy(DestReceiver *self)
static bool serializeAnalyzeReceive(TupleTableSlot *slot, DestReceiver *self)
struct SerializeDestReceiver SerializeDestReceiver
DestReceiver * CreateExplainSerializeDestReceiver(ExplainState *es)
static void serializeAnalyzeShutdown(DestReceiver *self)
@ EXPLAIN_SERIALIZE_BINARY
void fmgr_info(Oid functionId, FmgrInfo *finfo)
bytea * SendFunctionCall(FmgrInfo *flinfo, Datum val)
char * OutputFunctionCall(FmgrInfo *flinfo, Datum val)
Assert(PointerIsAligned(start, uint64))
#define INSTR_TIME_SET_CURRENT(t)
#define INSTR_TIME_SET_ZERO(t)
#define INSTR_TIME_ACCUM_DIFF(x, y, z)
BufferUsage pgBufferUsage
void BufferUsageAccumDiff(BufferUsage *dst, const BufferUsage *add, const BufferUsage *sub)
void getTypeBinaryOutputInfo(Oid type, Oid *typSend, bool *typIsVarlena)
void getTypeOutputInfo(Oid type, Oid *typOutput, bool *typIsVarlena)
void MemoryContextReset(MemoryContext context)
void pfree(void *pointer)
void * palloc0(Size size)
MemoryContext CurrentMemoryContext
void MemoryContextDelete(MemoryContext context)
#define AllocSetContextCreate
#define ALLOCSET_DEFAULT_SIZES
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
FormData_pg_attribute * Form_pg_attribute
void initStringInfo(StringInfo str)
ExplainSerializeOption serialize
TupleDesc tts_tupleDescriptor
void(* rStartup)(DestReceiver *self, int operation, TupleDesc typeinfo)
void(* rShutdown)(DestReceiver *self)
bool(* receiveSlot)(TupleTableSlot *slot, DestReceiver *self)
void(* rDestroy)(DestReceiver *self)
static FormData_pg_attribute * TupleDescAttr(TupleDesc tupdesc, int i)
static void slot_getallattrs(TupleTableSlot *slot)