changed README.md
 
@@ -85,7 85,7 @@ Running unit tests
85
85
mix test
86
86
```
87
87
88
- Runing integration tests
88
Running integration tests
89
89
90
90
```sh
91
91
EXQLITE_INTEGRATION=true mix test
changed hex_metadata.config
 
@@ -2,7 2,7 @@
2
2
[{<<"GitHub">>,<<"https://github.com/elixir-sqlite/ecto_sqlite3">>},
3
3
{<<"docs">>,<<"https://hexdocs.pm/ecto_sqlite3">>}]}.
4
4
{<<"name">>,<<"ecto_sqlite3">>}.
5
- {<<"version">>,<<"0.17.1">>}.
5
{<<"version">>,<<"0.17.2">>}.
6
6
{<<"description">>,<<"An SQLite3 Ecto3 adapter.">>}.
7
7
{<<"elixir">>,<<"~> 1.14">>}.
8
8
{<<"app">>,<<"ecto_sqlite3">>}.
changed lib/ecto/adapters/sqlite3.ex
 
@@ -124,7 124,7 @@ defmodule Ecto.Adapters.SQLite3 do
124
124
125
125
### Case sensitivity
126
126
127
- Case sensitivty for `LIKE` is off by default, and controlled by the `:case_sensitive_like`
127
Case sensitivity for `LIKE` is off by default, and controlled by the `:case_sensitive_like`
128
128
option outlined above.
129
129
130
130
However, for equality comparison, case sensitivity is always _on_.
 
@@ -164,7 164,7 @@ defmodule Ecto.Adapters.SQLite3 do
164
164
165
165
This is because the above functions depend on the Ecto Adapter returning the name of the violated constraint,
166
166
which you annotate in your changeset so that Ecto can convert the constraint violation into the correct
167
- updated changeset when the constraint is hit during a `Ecto.Repo.update/2` or `Ecto.Repo.insert/2` operation.
167
updated changeset when the constraint is hit during a `m:Ecto.Repo.update/2` or `m:Ecto.Repo.insert/2` operation.
168
168
Since we cannot get the name of the violated constraint back from SQLite3 at `INSERT` or `UPDATE` time,
169
169
there is no way to effectively use these changeset functions. This is a SQLite3 limitation.
changed lib/ecto/adapters/sqlite3/codec.ex
 
@@ -118,8 118,8 @@ defmodule Ecto.Adapters.SQLite3.Codec do
118
118
def utc_datetime_encode(nil, :iso8601), do: {:ok, nil}
119
119
def utc_datetime_encode(nil, :text_datetime), do: {:ok, nil}
120
120
121
- def utc_datetime_encode(%{time_zone: "Etc/UTC"} = value, :iso8601) do
122
- {:ok, NaiveDateTime.to_iso8601(value)}
121
def utc_datetime_encode(�teTime{time_zone: "Etc/UTC"} = value, :iso8601) do
122
{:ok, DateTime.to_iso8601(value)}
123
123
end
124
124
125
125
def utc_datetime_encode(%{time_zone: "Etc/UTC"} = value, :text_datetime) do
changed lib/ecto/adapters/sqlite3/connection.ex
 
@@ -1369,10 1369,21 @@ defmodule Ecto.Adapters.SQLite3.Connection do
1369
1369
[quote_name(name)]
1370
1370
end
1371
1371
1372
@datetime_type Application.compile_env(:ecto_sqlite3, :datetime_type, :iso8601)
1373
1372
1374
defp expr({:datetime_add, _, [datetime, count, interval]}, sources, query) do
1375
format =
1376
case @datetime_type do
1377
:text_datetime ->
1378
"%Y-%m-%d %H:%M:�00Z"
1379
1380
_ ->
1381
"%Y-%m-%dT%H:%M:�00Z"
1382
end
1383
1373
1384
[
1374
1385
"CAST (",
1375
- "strftime('%Y-%m-%d %H:%M:�00Z'",
1386
"strftime('#{format}'",
1376
1387
",",
1377
1388
expr(datetime, sources, query),
1378
1389
",",
changed mix.exs
 
@@ -1,7 1,7 @@
1
1
defmodule EctoSQLite3.MixProject do
2
2
use Mix.Project
3
3
4
- @version "0.17.1"
4
@version "0.17.2"
5
5
6
6
def project do
7
7
[