Re: Getting char * from timestamp in a composite type - Mailing list pgsql-general

From Michael Akinde
Subject Re: Getting char * from timestamp in a composite type
Date
Msg-id 476A22F9.3030204@met.no
Whole thread Raw
In response to Re: Getting char * from timestamp in a composite type  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
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 

Attachment

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Way to avoid expensive Recheck Cond in index lookup?
Next
From: Richard Huxton
Date:
Subject: Re: Trouble running PostgreSQL server / Server must be started under certain locale.