Skip to content

Commit 3e7aef8

Browse files
author
Nikita Glukhov
committed
Fix jsonpath timestamptz encoding in json tests
1 parent f941428 commit 3e7aef8

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

src/test/regress/expected/json_sqljson.out

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,37 @@ SELECT JSON_VALUE(json 'null', '$a' PASSING point ' (1, 2 )' AS a RETURNING poin
559559
(1,2)
560560
(1 row)
561561

562+
-- Test timestamptz passing and output
563+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts);
564+
json_value
565+
------------------------------
566+
Tue Feb 20 18:34:56 2018 PST
567+
(1 row)
568+
569+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING timestamptz);
570+
json_value
571+
------------------------------
572+
Tue Feb 20 18:34:56 2018 PST
573+
(1 row)
574+
575+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING timestamp);
576+
json_value
577+
--------------------------
578+
Tue Feb 20 18:34:56 2018
579+
(1 row)
580+
581+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING json);
582+
json_value
583+
-----------------------------
584+
"2018-02-21T02:34:56+00:00"
585+
(1 row)
586+
587+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING jsonb);
588+
json_value
589+
-----------------------------
590+
"2018-02-21T02:34:56+00:00"
591+
(1 row)
592+
562593
-- JSON_QUERY
563594
SELECT
564595
JSON_QUERY(js FORMAT JSON, '$'),
@@ -921,6 +952,25 @@ SELECT JSON_QUERY(json '{"a": 1}', '$.a' RETURNING sqljson_int_not_null);
921952

922953
SELECT JSON_QUERY(json '{"a": 1}', '$.b' RETURNING sqljson_int_not_null);
923954
ERROR: domain sqljson_int_not_null does not allow null values
955+
-- Test timestamptz passing and output
956+
SELECT JSON_QUERY(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts);
957+
json_query
958+
-----------------------------
959+
"2018-02-21T02:34:56+00:00"
960+
(1 row)
961+
962+
SELECT JSON_QUERY(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING json);
963+
json_query
964+
-----------------------------
965+
"2018-02-21T02:34:56+00:00"
966+
(1 row)
967+
968+
SELECT JSON_QUERY(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING jsonb);
969+
json_query
970+
-----------------------------
971+
"2018-02-21T02:34:56+00:00"
972+
(1 row)
973+
924974
-- Test constraints
925975
CREATE TABLE test_json_constraints (
926976
js text,

src/test/regress/sql/json_sqljson.sql

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,13 @@ FROM
139139
SELECT JSON_VALUE(json 'null', '$a' PASSING point ' (1, 2 )' AS a);
140140
SELECT JSON_VALUE(json 'null', '$a' PASSING point ' (1, 2 )' AS a RETURNING point);
141141

142+
-- Test timestamptz passing and output
143+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts);
144+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING timestamptz);
145+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING timestamp);
146+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING json);
147+
SELECT JSON_VALUE(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING jsonb);
148+
142149
-- JSON_QUERY
143150

144151
SELECT
@@ -254,6 +261,11 @@ SELECT * FROM unnest(JSON_QUERY(json '[{"a": 1, "t": ["foo", []]}, {"a": 2, "jb"
254261
SELECT JSON_QUERY(json '{"a": 1}', '$.a' RETURNING sqljson_int_not_null);
255262
SELECT JSON_QUERY(json '{"a": 1}', '$.b' RETURNING sqljson_int_not_null);
256263

264+
-- Test timestamptz passing and output
265+
SELECT JSON_QUERY(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts);
266+
SELECT JSON_QUERY(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING json);
267+
SELECT JSON_QUERY(json 'null', '$ts' PASSING timestamptz '2018-02-21 12:34:56 +10' AS ts RETURNING jsonb);
268+
257269
-- Test constraints
258270

259271
CREATE TABLE test_json_constraints (

0 commit comments

Comments
 (0)