Thanks, though that was an error caused by my attempt to copy-paste some readable example of code from the source file. 
 Matching the correct _out functions in the DirectFunctionCall fixed the segmentation fault problems I was seeing.
 Regards,
 Michael A.
 Tom Lane wrote: 
Michael Akinde <michael.akinde@met.no> writes: 
bool isNull;
HeapTupleHeader t = DatumGetHeapTupleHeader(row);
Datum var = GetAttributeByName( row, "time", & isNull );
// Check for null
char * ret = DatumGetCString( DirectFunctionCall1(textout, var ) );       
That's not going to work. textout wants a text datum. Try calling
timestamp_out instead..     
Sigh... it's always the idiot bugs that are the hardest to see. Thanks a 
lot.   
The other problem is that you're passing row not t to
GetAttributeByName.  If you don't have your compiler configured to bleat
about type mismatches like that, your days of C programming will be
bleak and painful.
		regards, tom lane