196 for (
i = 0;
i < natts; ++
i)
334 for (
i = 0;
i < natts; ++
i)
428 printf(
"\t%2d: %s%s%s%s\t(typeid = %u, len = %d, typmod = %d, byval = %c)\n",
453 for (
i = 0;
i < natts; ++
i)
474 for (
i = 0;
i < natts; ++
i)
480 &typoutput, &typisvarlena);
#define Assert(condition)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define palloc0_object(type)
void fmgr_info(Oid functionId, FmgrInfo *finfo)
char * OidOutputFunctionCall(Oid functionId, Datum val)
bytea * SendFunctionCall(FmgrInfo *flinfo, Datum val)
char * OutputFunctionCall(FmgrInfo *flinfo, Datum val)
void getTypeBinaryOutputInfo(Oid type, Oid *typSend, bool *typIsVarlena)
void getTypeOutputInfo(Oid type, Oid *typOutput, bool *typIsVarlena)
Oid getBaseTypeAndTypmod(Oid typid, int32 *typmod)
void MemoryContextReset(MemoryContext context)
void pfree(void *pointer)
void * palloc0(Size size)
MemoryContext CurrentMemoryContext
void MemoryContextDelete(MemoryContext context)
#define VALGRIND_CHECK_MEM_IS_DEFINED(addr, size)
#define AllocSetContextCreate
#define ALLOCSET_DEFAULT_SIZES
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
FormData_pg_attribute * Form_pg_attribute
static ListCell * list_head(const List *l)
static ListCell * lnext(const List *l, const ListCell *c)
static char buf[DEFAULT_XLOG_SEG_SIZE]
#define MAX_CONVERSION_GROWTH
static Pointer DatumGetPointer(Datum X)
List * FetchPortalTargetList(Portal portal)
bool debugtup(TupleTableSlot *slot, DestReceiver *self)
static void printatt(unsigned attributeId, Form_pg_attribute attributeP, char *value)
void debugStartup(DestReceiver *self, int operation, TupleDesc typeinfo)
static void printtup_prepare_info(DR_printtup *myState, TupleDesc typeinfo, int numAttrs)
static bool printtup(TupleTableSlot *slot, DestReceiver *self)
DestReceiver * printtup_create_DR(CommandDest dest)
static void printtup_startup(DestReceiver *self, int operation, TupleDesc typeinfo)
void SetRemoteDestReceiverParams(DestReceiver *self, Portal portal)
void SendRowDescriptionMessage(StringInfo buf, TupleDesc typeinfo, List *targetlist, int16 *formats)
static void printtup_destroy(DestReceiver *self)
static void printtup_shutdown(DestReceiver *self)
#define PqMsg_RowDescription
void enlargeStringInfo(StringInfo str, int needed)
void initStringInfo(StringInfo str)
PrinttupAttrInfo * myinfo
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 Datum slot_getattr(TupleTableSlot *slot, int attnum, bool *isnull)
static void slot_getallattrs(TupleTableSlot *slot)
static Size VARSIZE_ANY(const void *PTR)
static Size VARSIZE(const void *PTR)
static char * VARDATA(const void *PTR)