How to compare different datums within from a tuple? - Mailing list pgsql-hackers

From Peter Moser
Subject How to compare different datums within from a tuple?
Date
Msg-id 55C8D317.5080305@gmail.com
Whole thread Raw
Responses Re: How to compare different datums within from a tuple?
Re: How to compare different datums within from a tuple?
List pgsql-hackers
Hello,
I try to write my first patch. It is too early to tell more about it, 
but I am just fiddling around with some prototypes.

Can someone tell me, how I can compare two datum fields, when I do not 
know the data type in advance inside an executor function?

For example, "x less than y" where x and y are of various types that 
form intervals. I have found the method ExecTuplesMatch, but it is only 
for equality comparison, I think. Another one is ApplySortComparator... 
maybe that's the correct way to go?

Some code to make things clearer...

Datum x = heap_getattr(out->tts_tuple,    node->xpos,    out->tts_tupleDescriptor,    &isNull1);
Datum y = slot_getattr(curr, node->ypos, &isNull2);

if (compareDatumWithCorrectMethod(x,y) < 0)
{ /* do something */
}

Thx,
Peter



pgsql-hackers by date:

Previous
From: Petr Jelinek
Date:
Subject: Re: WIP: Rework access method interface
Next
From: Petr Jelinek
Date:
Subject: Re: WIP: Rework access method interface