From c13897983a0006e658fb7c6410d72ca59fb87136 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Wed, 8 Feb 2012 09:33:02 -0500 Subject: Add transform functions for various temporal typmod coercisions. This enables ALTER TABLE to skip table and index rebuilds in some cases. Noah Misch, with trivial changes by me. --- src/backend/utils/adt/date.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/backend/utils/adt/date.c') diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index bf3b6ea1deb..85e8fd00ff2 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -1210,6 +1210,17 @@ timetypmodout(PG_FUNCTION_ARGS) } +/* time_transform() + * Flatten calls to time_scale() and timetz_scale() that solely represent + * increases in allowed precision. + */ +Datum +time_transform(PG_FUNCTION_ARGS) +{ + PG_RETURN_POINTER(TemporalTransform(MAX_TIME_PRECISION, + (Node *) PG_GETARG_POINTER(0))); +} + /* time_scale() * Adjust time type for specified scale factor. * Used by PostgreSQL type system to stuff columns. -- cgit v1.2.3