Skip to content

Commit d46007d

Browse files
committed
something works
1 parent 6859c5c commit d46007d

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

lib/ch/row_binary.ex

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,8 @@ defmodule Ch.RowBinary do
551551
:uuid,
552552
:date,
553553
:date32,
554+
:time,
555+
:time64,
554556
:ipv4,
555557
:ipv6,
556558
:point,
@@ -878,6 +880,11 @@ defmodule Ch.RowBinary do
878880
<<d::32-little-signed, bin::bytes>> = bin
879881
decode_rows(types_rest, bin, [Date.add(@epoch_date, d) | row], rows, types)
880882

883+
:time ->
884+
<<s::32-little, bin::bytes>> = bin
885+
t = Time.from_seconds_after_midnight(s)
886+
decode_rows(types_rest, bin, [t | row], rows, types)
887+
881888
{:datetime, timezone} ->
882889
<<s::32-little, bin::bytes>> = bin
883890

lib/ch/types.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ defmodule Ch.Types do
2424
{"DateTime64", :datetime64, [:int, :string]},
2525
{"DateTime", :datetime, [:string]},
2626
# {"DateTime", :datetime, []},
27+
{"Time64", :time64, []},
28+
{"Time", :time, []},
2729
{"Date32", :date32, []},
2830
{"Date", :date, []},
2931
{"LowCardinality", :low_cardinality, [:type]},

test/ch/query_test.exs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,11 @@ defmodule Ch.QueryTest do
9292
end
9393

9494
test "decode time", %{conn: conn} do
95-
assert Ch.query!(conn, "SELECT '12:34:56'::time", [],
96-
settings: [enable_time_time64_type: 1]
97-
).rows == [[~T[12:34:56]]]
95+
settings = [enable_time_time64_type: 1]
96+
97+
assert Ch.query!(conn, "SELECT '12:34:56'::time", [], settings: settings).rows == [
98+
[~T[12:34:56]]
99+
]
98100
end
99101

100102
test "decode arrays", %{conn: conn} do

0 commit comments

Comments
 (0)