| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | Demitri Muna <postgresql(at)demitri(dot)com> |
| Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Getting a primitive numeric value from "DatumGetNumeric"? |
| Date: | 2018-02-23 02:31:38 |
| Message-ID: | 20180223023138.GB15131@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Thu, Feb 22, 2018 at 08:00:45PM -0500, Demitri Muna wrote:
> Ah, I wasn’t aware of implicit coercion. Yes, that solves the problem perfectly, thanks.
>
> Out of curiosity, how does one read a numeric type from within a C
> extension (i.e. get a number value out of the Datum type)? I ask as I
> was unable to find an example and there are a few open questions on
> Stack Overflow
> (e.g. https://stackoverflow.com/questions/12588554/postgres-c-function-passing-returning-numerics)
PG_GETARG_NUMERIC(), no? When working on implementing your own data
types or when hacking out functions which manipulate arguments of an
existing datatype, looking at the input and output functions help a
lot. In your case, numeric_in and numeric_out in
src/backend/utils/adt/numeric.c is full of hints.
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | PT | 2018-02-23 02:36:33 | Re: Performance issues during backup |
| Previous Message | Adrian Klaver | 2018-02-23 01:47:57 | Re: Given a set of daterange, finding the continuous range that includes a particular date |