Skip to content

Commit bceff9a

Browse files
committed
Handle decoding of %Time{} struct
1 parent a9902f3 commit bceff9a

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

lib/ecto/adapters/sqlite3/codec.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ defmodule Ecto.Adapters.SQLite3.Codec do
7979

8080
def time_decode(nil), do: {:ok, nil}
8181

82+
def time_decode(%Time{} = value) do
83+
{:ok, value}
84+
end
85+
8286
def time_decode(value) do
8387
case Time.from_iso8601(value) do
8488
{:ok, _time} = result -> result

test/ecto/adapters/sqlite3/codec_test.exs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@ defmodule Ecto.Adapters.SQLite3.CodecTest do
116116
{:ok, time} = Time.from_iso8601("23:50:07.123Z")
117117
assert {:ok, ^time} = Codec.time_decode("23:50:07.123Z")
118118
end
119+
120+
test "struct" do
121+
time = ~T[10:28:14.748721]
122+
assert {:ok, ^time} = Codec.time_decode(time)
123+
end
119124
end
120125

121126
describe ".utc_datetime_decode/1" do

0 commit comments

Comments
 (0)