summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/expressions.out31
-rw-r--r--src/test/regress/sql/expressions.sql7
2 files changed, 36 insertions, 2 deletions
diff --git a/src/test/regress/expected/expressions.out b/src/test/regress/expected/expressions.out
index 28a20900f1..df432d4c92 100644
--- a/src/test/regress/expected/expressions.out
+++ b/src/test/regress/expected/expressions.out
@@ -36,7 +36,7 @@ SELECT now()::time(3)::text = localtime(3)::text;
t
(1 row)
--- current_timestamp / localtimestamp (always matches because of transactional behaviour)
+-- current_time[stamp]/ localtime[stamp] (always matches because of transactional behaviour)
SELECT current_timestamp = NOW();
?column?
----------
@@ -57,6 +57,35 @@ SELECT now()::timestamp::text = localtimestamp::text;
t
(1 row)
+-- precision overflow
+SELECT current_time = current_time(7);
+WARNING: TIME(7) WITH TIME ZONE precision reduced to maximum allowed, 6
+ ?column?
+----------
+ t
+(1 row)
+
+SELECT current_timestamp = current_timestamp(7);
+WARNING: TIMESTAMP(7) WITH TIME ZONE precision reduced to maximum allowed, 6
+ ?column?
+----------
+ t
+(1 row)
+
+SELECT localtime = localtime(7);
+WARNING: TIME(7) precision reduced to maximum allowed, 6
+ ?column?
+----------
+ t
+(1 row)
+
+SELECT localtimestamp = localtimestamp(7);
+WARNING: TIMESTAMP(7) precision reduced to maximum allowed, 6
+ ?column?
+----------
+ t
+(1 row)
+
-- current_role/user/user is tested in rolnames.sql
-- current database / catalog
SELECT current_catalog = current_database();
diff --git a/src/test/regress/sql/expressions.sql b/src/test/regress/sql/expressions.sql
index f9a0299d17..fea5358d25 100644
--- a/src/test/regress/sql/expressions.sql
+++ b/src/test/regress/sql/expressions.sql
@@ -17,12 +17,17 @@ SELECT now()::timetz(4)::text = current_time(4)::text;
SELECT now()::time::text = localtime::text;
SELECT now()::time(3)::text = localtime(3)::text;
--- current_timestamp / localtimestamp (always matches because of transactional behaviour)
+-- current_time[stamp]/ localtime[stamp] (always matches because of transactional behaviour)
SELECT current_timestamp = NOW();
-- precision
SELECT length(current_timestamp::text) >= length(current_timestamp(0)::text);
-- localtimestamp
SELECT now()::timestamp::text = localtimestamp::text;
+-- precision overflow
+SELECT current_time = current_time(7);
+SELECT current_timestamp = current_timestamp(7);
+SELECT localtime = localtime(7);
+SELECT localtimestamp = localtimestamp(7);
-- current_role/user/user is tested in rolnames.sql