From: | Masterprojekt Naumann1 <mpws2013n1(at)gmail(dot)com> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Decimal values in |
Date: | 2014-02-17 15:26:28 |
Message-ID: | CANjJybTYZQ88i5JqKyF6KFbb7_4DLaZFPVLDiiEEhkupzo4U6Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Dear Dev-List,
inside execProcnode.c's ExecProcNode method we want to extract the value of
a tuple for a specific attribute. This works great for integers and
strings, but we are not able to figure out how to do this for floating
point numbers. Below is some example code snippet to show our problem:
TupleTableSlot *
ExecProcNode(PlanState *node) {
TupleTableSlot *result;
...
bool isNull;
Datum datum = slot_getattr(result,0, &isNull);
Form_pg_attribute *attrList = result->tts_tupleDescriptor->attrs;
if(attrList[0]->atttypid==INT4OID){
int value = (int) (datum);
...
} else if(attrList[0]->atttypid==VARCHAROID){
char* value = TextDatumGetCString(datum);
...
//this does not work :(
} else if(attrList[0]->atttypid==<DECIMAL_OID> /*what is the right
OID*/){
//the value does not seem to be stored in the datum
float value = (float) (datum);
...
}
...
}
How can we get those values?
Yours sincerely, Fabian Tschirschnitz.
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-02-17 15:26:46 | Re: narwhal and PGDLLIMPORT |
Previous Message | Tom Lane | 2014-02-17 15:21:12 | Re: narwhal and PGDLLIMPORT |