summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorTom Lane2013-11-17 20:06:50 +0000
committerTom Lane2013-11-17 20:06:50 +0000
commitf901bb50e33ad95593bb68f7b3b55eb2e47607dc (patch)
tree59f57745a6e30adb0d41485cbc857b1f0d5977e6 /src/test
parent69c8fbac201652282e18b0e2e301d4ada991fbde (diff)
Add make_date() and make_time() functions.
Pavel Stehule, reviewed by Jeevan Chalke and Atri Sharma
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/date.out26
-rw-r--r--src/test/regress/sql/date.sql11
2 files changed, 37 insertions, 0 deletions
diff --git a/src/test/regress/expected/date.out b/src/test/regress/expected/date.out
index b603745077c..8923f6090ab 100644
--- a/src/test/regress/expected/date.out
+++ b/src/test/regress/expected/date.out
@@ -1184,3 +1184,29 @@ select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'
f | f | t
(1 row)
+-- test constructors
+select make_date(2013, 7, 15);
+ make_date
+------------
+ 07-15-2013
+(1 row)
+
+select make_time(8, 20, 0.0);
+ make_time
+-----------
+ 08:20:00
+(1 row)
+
+-- should fail
+select make_date(2013, 2, 30);
+ERROR: date field value out of range: 2013-02-30
+select make_date(2013, 13, 1);
+ERROR: date field value out of range: 2013-13-01
+select make_date(2013, 11, -1);
+ERROR: date field value out of range: 2013-11--1
+select make_date(-44, 3, 15); -- perhaps we should allow this sometime?
+ERROR: date field value out of range: -44-03-15
+select make_time(10, 55, 100.1);
+ERROR: time field value out of range: 10:55:100.1
+select make_time(24, 0, 2.1);
+ERROR: time field value out of range: 24:00:2.1
diff --git a/src/test/regress/sql/date.sql b/src/test/regress/sql/date.sql
index d179ddf09b3..a62e92a77ef 100644
--- a/src/test/regress/sql/date.sql
+++ b/src/test/regress/sql/date.sql
@@ -276,3 +276,14 @@ select 'infinity'::date, '-infinity'::date;
select 'infinity'::date > 'today'::date as t;
select '-infinity'::date < 'today'::date as t;
select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date);
+
+-- test constructors
+select make_date(2013, 7, 15);
+select make_time(8, 20, 0.0);
+-- should fail
+select make_date(2013, 2, 30);
+select make_date(2013, 13, 1);
+select make_date(2013, 11, -1);
+select make_date(-44, 3, 15); -- perhaps we should allow this sometime?
+select make_time(10, 55, 100.1);
+select make_time(24, 0, 2.1);