parent
45c8ed96b9
commit
0a42adcc32
|
@ -14,7 +14,7 @@
|
||||||
* Copyright (c) 1998-2006, PostgreSQL Global Development Group
|
* Copyright (c) 1998-2006, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/utils/adt/numeric.c,v 1.94 2006/07/14 05:28:28 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/utils/adt/numeric.c,v 1.95 2006/10/03 21:25:55 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -3217,11 +3217,12 @@ apply_typmod(NumericVar *var, int32 typmod)
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
|
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
|
||||||
errmsg("numeric field overflow"),
|
errmsg("numeric field overflow"),
|
||||||
errdetail("A field with precision %d, scale %d must have an absolute value less than %s%d.",
|
errdetail("A field with precision %d, scale %d must round to an absolute value less than %s%d.",
|
||||||
precision, scale,
|
precision, scale,
|
||||||
/* Display 10^0 as 1 */
|
/* Display 10^0 as 1 */
|
||||||
maxdigits ? "10^" : "",
|
maxdigits ? "10^" : "",
|
||||||
maxdigits ? maxdigits : 1)));
|
maxdigits ? maxdigits : 1
|
||||||
|
)));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ddigits -= DEC_DIGITS;
|
ddigits -= DEC_DIGITS;
|
||||||
|
|
|
@ -688,12 +688,12 @@ INSERT INTO fract_only VALUES (1, '0.0');
|
||||||
INSERT INTO fract_only VALUES (2, '0.1');
|
INSERT INTO fract_only VALUES (2, '0.1');
|
||||||
INSERT INTO fract_only VALUES (3, '1.0'); -- should fail
|
INSERT INTO fract_only VALUES (3, '1.0'); -- should fail
|
||||||
ERROR: numeric field overflow
|
ERROR: numeric field overflow
|
||||||
DETAIL: A field with precision 4, scale 4 must have an absolute value less than 1.
|
DETAIL: A field with precision 4, scale 4 must round to an absolute value less than 1.
|
||||||
INSERT INTO fract_only VALUES (4, '-0.9999');
|
INSERT INTO fract_only VALUES (4, '-0.9999');
|
||||||
INSERT INTO fract_only VALUES (5, '0.99994');
|
INSERT INTO fract_only VALUES (5, '0.99994');
|
||||||
INSERT INTO fract_only VALUES (6, '0.99995'); -- should fail
|
INSERT INTO fract_only VALUES (6, '0.99995'); -- should fail
|
||||||
ERROR: numeric field overflow
|
ERROR: numeric field overflow
|
||||||
DETAIL: A field with precision 4, scale 4 must have an absolute value less than 1.
|
DETAIL: A field with precision 4, scale 4 must round to an absolute value less than 1.
|
||||||
INSERT INTO fract_only VALUES (7, '0.00001');
|
INSERT INTO fract_only VALUES (7, '0.00001');
|
||||||
INSERT INTO fract_only VALUES (8, '0.00017');
|
INSERT INTO fract_only VALUES (8, '0.00017');
|
||||||
SELECT * FROM fract_only;
|
SELECT * FROM fract_only;
|
||||||
|
|
Loading…
Reference in New Issue