| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | "Juan Pablo L(dot)" <jpablolorenzetti(at)hotmail(dot)com> |
| Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: numeric data type |
| Date: | 2015-09-22 20:07:36 |
| Message-ID: | 14462.1442952456@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
"Juan Pablo L." <jpablolorenzetti(at)hotmail(dot)com> writes:
> Hi, i m writing a C module (extension), the procedure has a parameter that is of type numeric,
> inside the function i can not read the parameter or so it seems, this what is do:
> float8 db_balance,in_chgval;
> in_chgval = PG_GETARG_FLOAT8(2);
> elog(INFO,"in_chgval = %0.2f",in_chgval);
If the C code is written that way, the function has to be declared to take
type float8 (a/k/a double precision), not numeric.
The parser will insert a conversion from numeric to float8 automatically,
so the function will still work with a numeric data column. You might
lose some precision in the conversion though.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Juan Pablo L. | 2015-09-22 20:26:50 | Re: numeric data type |
| Previous Message | Juan Pablo L. | 2015-09-22 19:48:55 | numeric data type |