Tweak parser so that there is a defined representation for datatypes
Tom Lane <tgl@sss.pgh.pa.us>
Tweak parser so that there is a defined representation for datatypes bpchar, bit, numeric with typmod -1. Alter format_type so that this representation is printed when the typmod is -1. This ensures that tables having such columns can be pg_dump'd and reloaded correctly. Also, remove the rather useless and non-SQL-compliant default precision and scale for type NUMERIC. A numeric column declared as such (with no precision/scale) will now have typmod -1 which means that numeric values of any precision/scale can be stored in it, without conversion to a uniform scale. This seems significantly more useful than the former behavior. Part of response to bug #513.
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/datatype.sgml | modified | +19 −11 |
| src/backend/parser/analyze.c | modified | +1 −28 |
| src/backend/parser/gram.y | modified | +13 −7 |
| src/backend/utils/adt/format_type.c | modified | +24 −11 |