mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Add a couple more tests for interval input decoding.
Cover some cases that would have been broken by a proposed patch, but we failed to notice for lack of test coverage. I'm pushing this separately mainly to memorialize that it *is* our historical behavior. Discussion: https://postgr.es/m/1344498.1648920056@sss.pgh.pa.us
This commit is contained in:
parent
14bf1e8313
commit
1b208ebaf1
@ -826,6 +826,16 @@ SELECT interval '+1 -1:00:00',
|
||||
1 day -01:00:00 | -1 days +01:00:00 | 1 year 2 mons -3 days +04:05:06.789 | -1 years -2 mons +3 days -04:05:06.789
|
||||
(1 row)
|
||||
|
||||
-- cases that trigger sign-matching rules in the sql style
|
||||
SELECT interval '-23 hours 45 min 12.34 sec',
|
||||
interval '-1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min +12.34 sec';
|
||||
interval | interval | interval | interval
|
||||
--------------+----------------------+-----------------------------+-----------------------------
|
||||
-22:14:47.66 | -1 days +23:45:12.34 | -10 mons +1 day 23:45:12.34 | -10 mons +1 day 23:45:12.34
|
||||
(1 row)
|
||||
|
||||
-- test output of couple non-standard interval values in the sql style
|
||||
SET IntervalStyle TO sql_standard;
|
||||
SELECT interval '1 day -1 hours',
|
||||
@ -837,6 +847,16 @@ SELECT interval '1 day -1 hours',
|
||||
+0-0 +1 -1:00:00 | +0-0 -1 +1:00:00 | +1-2 -3 +4:05:06.789 | -1-2 +3 -4:05:06.789
|
||||
(1 row)
|
||||
|
||||
-- cases that trigger sign-matching rules in the sql style
|
||||
SELECT interval '-23 hours 45 min 12.34 sec',
|
||||
interval '-1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min +12.34 sec';
|
||||
interval | interval | interval | interval
|
||||
--------------+----------------+----------------------+-----------------------
|
||||
-23:45:12.34 | -1 23:45:12.34 | -1-2 -1 -23:45:12.34 | -0-10 +1 +23:45:12.34
|
||||
(1 row)
|
||||
|
||||
-- test outputting iso8601 intervals
|
||||
SET IntervalStyle to iso_8601;
|
||||
select interval '0' AS "zero",
|
||||
|
@ -258,6 +258,12 @@ SELECT interval '+1 -1:00:00',
|
||||
interval '+1-2 -3 +4:05:06.789',
|
||||
interval '-1-2 +3 -4:05:06.789';
|
||||
|
||||
-- cases that trigger sign-matching rules in the sql style
|
||||
SELECT interval '-23 hours 45 min 12.34 sec',
|
||||
interval '-1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min +12.34 sec';
|
||||
|
||||
-- test output of couple non-standard interval values in the sql style
|
||||
SET IntervalStyle TO sql_standard;
|
||||
SELECT interval '1 day -1 hours',
|
||||
@ -265,6 +271,12 @@ SELECT interval '1 day -1 hours',
|
||||
interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds',
|
||||
- interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds';
|
||||
|
||||
-- cases that trigger sign-matching rules in the sql style
|
||||
SELECT interval '-23 hours 45 min 12.34 sec',
|
||||
interval '-1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min 12.34 sec',
|
||||
interval '-1 year 2 months 1 day 23 hours 45 min +12.34 sec';
|
||||
|
||||
-- test outputting iso8601 intervals
|
||||
SET IntervalStyle to iso_8601;
|
||||
select interval '0' AS "zero",
|
||||
|
Loading…
x
Reference in New Issue
Block a user