Re: Infinite Interval
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Joseph Koshakow <koshy44@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>,
"Gregory Stark (as CFM)" <stark.cfm@gmail.com>,
jian he <jian.universality@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-19T21:13:01Z
Lists: pgsql-hackers
Joseph Koshakow <koshy44@gmail.com> writes:
> I must have been doing something wrong because I tried again today and
> it worked fine. However, I go get a lot of changes like the following:
> - if TIMESTAMP_IS_NOBEGIN(dt2)
> - ereport(ERROR,
> -
> (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
> - errmsg("timestamp out of
> range")));
> + if TIMESTAMP_IS_NOBEGIN
> + (dt2)
> + ereport(ERROR,
> +
> (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
> + errmsg("timestamp out of
> range")));
> Should I keep these pgindent changes or keep it the way I have it?
Did you actually write "if TIMESTAMP_IS_NOBEGIN(dt2)" and not
"if (TIMESTAMP_IS_NOBEGIN(dt2))"? If the former, I'm not surprised
that pgindent gets confused. The parentheses are required by the
C standard. Your code might accidentally work because the macro
has parentheses internally, but call sites have no business
knowing that. For example, it would be completely legit to change
TIMESTAMP_IS_NOBEGIN to be a plain function, and then this would be
syntactically incorrect.
regards, tom lane
Commits
-
Support +/- infinity in the interval data type.
- 519fc1bd9e9d 17.0 landed
-
Avoid integer overflow hazard in interval_time().
- 3850d4dec1d9 17.0 landed
-
Guard against overflow in make_interval().
- b2d55447a563 17.0 landed
-
Fix minmax-multi on infinite date/timestamp values
- 8da86d62a112 17.0 cited
-
Optimize various aggregate deserialization functions, take 2
- 0c882a298881 17.0 cited
-
Remove dead code in DecodeInterval()
- d6d1430f4043 17.0 cited
-
Accept "+infinity" in date and timestamp[tz] input.
- 2ceea5adb026 16.0 cited
-
Fix overflow hazards in interval input and output conversions.
- e39f99046710 15.0 cited