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
|
[
|