Browse Source

rearrange code

eryx67 6 years ago
parent
commit
54a2da7755
2 changed files with 20 additions and 21 deletions
  1. 15 16
      src/datatypes/epgsql_codec_timerange.erl
  2. 5 5
      src/epgsql_binary.erl

+ 15 - 16
src/datatypes/epgsql_codec_timerange.erl

@@ -29,15 +29,9 @@ names() ->
 
 
 encode(empty, _T, _CM) ->
 encode(empty, _T, _CM) ->
     <<1>>;
     <<1>>;
-encode({From, To}, Type, epgsql_idatetime) ->
-    FromBin = epgsql_idatetime:encode(member_type(Type), From),
-    ToBin = epgsql_idatetime:encode(member_type(Type), To),
-    <<2:1/big-signed-unit:8,
-      (byte_size(FromBin)):?int32, FromBin/binary,
-      (byte_size(ToBin)):?int32, ToBin/binary>>;
-encode({From, To}, Type, epgsql_fdatetime) ->
-    FromBin = epgsql_fdatetime:encode(member_type(Type), From),
-    ToBin = epgsql_fdatetime:encode(member_type(Type), To),
+encode({From, To}, Type, EncMod) ->
+    FromBin = encode_member(Type, From, EncMod),
+    ToBin = encode_member(Type, To, EncMod),
     <<2:1/big-signed-unit:8,
     <<2:1/big-signed-unit:8,
       (byte_size(FromBin)):?int32, FromBin/binary,
       (byte_size(FromBin)):?int32, FromBin/binary,
       (byte_size(ToBin)):?int32, ToBin/binary>>.
       (byte_size(ToBin)):?int32, ToBin/binary>>.
@@ -47,16 +41,21 @@ decode(<<1>>, _, _) ->
 decode(<<2:1/big-signed-unit:8,
 decode(<<2:1/big-signed-unit:8,
          FromLen:?int32, FromBin:FromLen/binary,
          FromLen:?int32, FromBin:FromLen/binary,
          ToLen:?int32, ToBin:ToLen/binary>>,
          ToLen:?int32, ToBin:ToLen/binary>>,
-       Type, epgsql_idatetime) ->
-    {epgsql_idatetime:decode(member_type(Type), FromBin), epgsql_idatetime:decode(member_type(Type), ToBin)};
-decode(<<2:1/big-signed-unit:8,
-         FromLen:?int32, FromBin:FromLen/binary,
-         ToLen:?int32, ToBin:ToLen/binary>>,
-       Type, epgsql_fdatetime) ->
-    {epgsql_fdatetime:decode(member_type(Type), FromBin), epgsql_fdatetime:decode(member_type(Type), ToBin)}.
+       Type, EncMod) ->
+    {decode_member(Type, FromBin, EncMod), decode_member(Type, ToBin, EncMod)}.
 
 
 decode_text(V, _, _) -> V.
 decode_text(V, _, _) -> V.
 
 
+encode_member(Type, Val, epgsql_idatetime) ->
+    epgsql_idatetime:encode(member_type(Type), Val);
+encode_member(Type, Val, epgsql_fdatetime) ->
+    epgsql_fdatetime:encode(member_type(Type), Val).
+
+decode_member(Type, Bin, epgsql_idatetime) ->
+    epgsql_idatetime:decode(member_type(Type), Bin);
+decode_member(Type, Bin, epgsql_fdatetime) ->
+    epgsql_fdatetime:decode(member_type(Type), Bin).
+
 member_type(tsrange) -> timestamp;
 member_type(tsrange) -> timestamp;
 member_type(tstzrange) -> timestamptz;
 member_type(tstzrange) -> timestamptz;
 member_type(daterange) -> date.
 member_type(daterange) -> date.

+ 5 - 5
src/epgsql_binary.erl

@@ -281,8 +281,8 @@ default_codecs() ->
      {epgsql_codec_net, []},
      {epgsql_codec_net, []},
      %% {epgsql_codec_postgis,[]},
      %% {epgsql_codec_postgis,[]},
      {epgsql_codec_text, []},
      {epgsql_codec_text, []},
-     {epgsql_codec_uuid, []},
-     {epgsql_codec_timerange, []}
+     {epgsql_codec_timerange, []},
+     {epgsql_codec_uuid, []}
     ].
     ].
 
 
 -spec default_oids() -> [epgsql_oid_db:oid_entry()].
 -spec default_oids() -> [epgsql_oid_db:oid_entry()].
@@ -293,6 +293,7 @@ default_oids() ->
      {char, 18, 1002},
      {char, 18, 1002},
      {cidr, 650, 651},
      {cidr, 650, 651},
      {date, 1082, 1182},
      {date, 1082, 1182},
+     {daterange, 3912, 3913},
      {float4, 700, 1021},
      {float4, 700, 1021},
      {float8, 701, 1022},
      {float8, 701, 1022},
      %% {geometry, 17063, 17071},
      %% {geometry, 17063, 17071},
@@ -314,9 +315,8 @@ default_oids() ->
      {timestamp, 1114, 1115},
      {timestamp, 1114, 1115},
      {timestamptz, 1184, 1185},
      {timestamptz, 1184, 1185},
      {timetz, 1266, 1270},
      {timetz, 1266, 1270},
-     {uuid, 2950, 2951},
-     {varchar, 1043, 1015},
      {tsrange, 3908, 3909},
      {tsrange, 3908, 3909},
      {tstzrange, 3910, 3911},
      {tstzrange, 3910, 3911},
-     {daterange, 3912, 3913}
+     {uuid, 2950, 2951},
+     {varchar, 1043, 1015}
     ].
     ].