aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/expected/interval.out20
-rw-r--r--src/test/regress/sql/interval.sql12
2 files changed, 32 insertions, 0 deletions
diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out
index 146f7c55d0b..9a7e2852f29 100644
--- a/src/test/regress/expected/interval.out
+++ b/src/test/regress/expected/interval.out
@@ -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",
diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql
index c31f0eec054..811b581e095 100644
--- a/src/test/regress/sql/interval.sql
+++ b/src/test/regress/sql/interval.sql
@@ -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",