I have created a custom type called my_numeric, which is roughly the same as
the existing numeric type. I have declared in, out, typmod_in, and typmod_out
functions. I create a table like:
CREATE TABLE test (col1 my_numeric(6, 3));
And then do \d test and can see that col1 is declared as (6, 3), which I think
confirms that my typmod_in and typmod_out function are correct.
But when I do:
INSERT INTO test VALUES ('12.34');
It behaves as though the typmod parameter to my in function
(PG_GETARG_INT32(2)) is passed in as -1. The docs
(http://www.postgresql.org/docs/9.3/static/sql-createtype.html) says of the
arguments that "the third is the typmod of the destination column, if known (-1
will be passed if not).".
Am I doing something wrong? Don't I need to know the typmod of the destination
column so I can confirm that the format of the string being passed in conforms
to the type modifier specified (eg so I can reject '1234.5678' for col1 with an
overflow error)?
Thanks
James
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general