Skip to content

Commit fe8519e

Browse files
Add support for decimal_encode(nil) (#139)
1 parent 739bde1 commit fe8519e

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

Diff for: lib/ecto/adapters/sqlite3/codec.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ defmodule Ecto.Adapters.SQLite3.Codec do
9898
def bool_encode(false), do: {:ok, 0}
9999
def bool_encode(true), do: {:ok, 1}
100100

101+
def decimal_encode(nil), do: {:ok, nil}
102+
101103
def decimal_encode(%Decimal{} = x) do
102104
{:ok, Decimal.to_string(x, :normal)}
103105
end
104106

105-
# def decimal_encode(x), do: {:ok, x}
106-
107107
def time_encode(value) do
108108
{:ok, value}
109109
end

Diff for: test/ecto/adapters/sqlite3/codec_test.exs

+11
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,17 @@ defmodule Ecto.Adapters.SQLite3.CodecTest do
8181
end
8282
end
8383

84+
describe ".decimal_encode/1" do
85+
test "nil" do
86+
{:ok, nil} = Codec.decimal_encode(nil)
87+
end
88+
89+
test "decimal" do
90+
decimal = Decimal.new("2.5")
91+
{:ok, "2.5"} = Codec.decimal_encode(decimal)
92+
end
93+
end
94+
8495
describe ".time_decode/1" do
8596
test "nil" do
8697
{:ok, nil} = Codec.time_decode(nil)

0 commit comments

Comments
 (0)