Browse Source

test daterange, tsrange, tstzrange

eryx67 6 years ago
parent
commit
e2678cccbe
2 changed files with 16 additions and 1 deletions
  1. 5 1
      test/data/test_schema.sql
  2. 11 0
      test/epgsql_SUITE.erl

+ 5 - 1
test/data/test_schema.sql

@@ -68,7 +68,11 @@ CREATE TABLE test_table2 (
   c_int4range int4range,
   c_int4range int4range,
   c_int8range int8range,
   c_int8range int8range,
   c_json json,
   c_json json,
-  c_jsonb jsonb);
+  c_jsonb jsonb,
+  c_tsrange tsrange,
+  c_tstzrange tstzrange,
+  c_daterange daterange
+  );
 
 
 -- CREATE LANGUAGE plpgsql;
 -- CREATE LANGUAGE plpgsql;
 
 

+ 11 - 0
test/epgsql_SUITE.erl

@@ -61,6 +61,7 @@ groups() ->
             array_type,
             array_type,
             range_type,
             range_type,
             range8_type,
             range8_type,
+            date_time_range_type,
             custom_types
             custom_types
         ]},
         ]},
         {generic, [parallel], [
         {generic, [parallel], [
@@ -1096,6 +1097,16 @@ range8_type(Config) ->
         ])
         ])
     end, []).
     end, []).
 
 
+date_time_range_type(Config) ->
+    epgsql_ct:with_min_version(Config, [9, 2], fun(_C) ->
+        check_type(Config, tsrange, "tsrange('2008-01-02 03:04:05', '2008-02-02 03:04:05')", {{{2008,1,2},{3,4,5.0}}, {{2008,2,2},{3,4,5.0}}}, []),
+       check_type(Config, tsrange, "tsrange('2008-01-02 03:04:05', '2008-01-02 03:04:05')", empty, []),
+
+       check_type(Config, daterange, "daterange('2008-01-02', '2008-02-02')", {{2008,1,2}, {2008, 2, 2}}, [{{-4712,1,1}, {5874897,1,1}}
+]),
+      check_type(Config, tstzrange, "tstzrange('2011-01-02 03:04:05+3', '2011-01-02 04:04:05+3')", {{{2011, 1, 2}, {0, 4, 5.0}}, {{2011, 1, 2}, {1, 4, 5.0}}}, [{{{2011, 1, 2}, {0, 4, 5.0}}, {{2011, 1, 2}, {1, 4, 5.0}}}])
+
+   end, []).
 
 
 with_transaction(Config) ->
 with_transaction(Config) ->
     Module = ?config(module, Config),
     Module = ?config(module, Config),