Skip to content

Commit 20f5446

Browse files
authored
Stop converting strings to_charlist (#291)
1 parent 36b3878 commit 20f5446

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

lib/exqlite/sqlite3.ex

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ defmodule Exqlite.Sqlite3 do
3535
the database if it doesn't already exist. Defaults to `:readwrite`.
3636
Note: [:readwrite, :nomutex] is not recommended.
3737
"""
38-
@spec open(String.t() | String.Chars.t(), [open_opt()]) ::
39-
{:ok, db()}
40-
| {:error, reason()}
38+
@spec open(String.t(), [open_opt()]) :: {:ok, db()} | {:error, reason()}
4139
def open(path, opts \\ []) do
4240
mode = Keyword.get(opts, :mode, :readwrite)
4341
Sqlite3NIF.open(path, flags_from_mode(mode))
@@ -163,7 +161,7 @@ defmodule Exqlite.Sqlite3 do
163161
"""
164162
@spec shrink_memory(db()) :: :ok | {:error, reason()}
165163
def shrink_memory(conn) do
166-
Sqlite3NIF.execute(conn, String.to_charlist("PRAGMA shrink_memory"))
164+
Sqlite3NIF.execute(conn, "PRAGMA shrink_memory")
167165
end
168166

169167
@spec fetch_all(db(), statement(), integer()) :: {:ok, [row()]} | {:error, reason()}
@@ -198,7 +196,7 @@ defmodule Exqlite.Sqlite3 do
198196
"""
199197
@spec serialize(db(), String.t()) :: {:ok, binary()} | {:error, reason()}
200198
def serialize(conn, database \\ "main") do
201-
Sqlite3NIF.serialize(conn, String.to_charlist(database))
199+
Sqlite3NIF.serialize(conn, database)
202200
end
203201

204202
@doc """
@@ -207,7 +205,7 @@ defmodule Exqlite.Sqlite3 do
207205
"""
208206
@spec deserialize(db(), String.t(), binary()) :: :ok | {:error, reason()}
209207
def deserialize(conn, database \\ "main", serialized) do
210-
Sqlite3NIF.deserialize(conn, String.to_charlist(database), serialized)
208+
Sqlite3NIF.deserialize(conn, database, serialized)
211209
end
212210

213211
def release(_conn, nil), do: :ok

lib/exqlite/sqlite3_nif.ex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ defmodule Exqlite.Sqlite3NIF do
1717
:erlang.load_nif(path, 0)
1818
end
1919

20-
@spec open(String.Chars.t(), integer()) :: {:ok, db()} | {:error, reason()}
20+
@spec open(String.t(), integer()) :: {:ok, db()} | {:error, reason()}
2121
def open(_path, _flags), do: :erlang.nif_error(:not_loaded)
2222

2323
@spec close(db()) :: :ok | {:error, reason()}
@@ -26,13 +26,13 @@ defmodule Exqlite.Sqlite3NIF do
2626
@spec interrupt(db()) :: :ok | {:error, reason()}
2727
def interrupt(_conn), do: :erlang.nif_error(:not_loaded)
2828

29-
@spec execute(db(), String.Chars.t()) :: :ok | {:error, reason()}
29+
@spec execute(db(), String.t()) :: :ok | {:error, reason()}
3030
def execute(_conn, _sql), do: :erlang.nif_error(:not_loaded)
3131

3232
@spec changes(db()) :: {:ok, integer()} | {:error, reason()}
3333
def changes(_conn), do: :erlang.nif_error(:not_loaded)
3434

35-
@spec prepare(db(), String.Chars.t()) :: {:ok, statement()} | {:error, reason()}
35+
@spec prepare(db(), String.t()) :: {:ok, statement()} | {:error, reason()}
3636
def prepare(_conn, _sql), do: :erlang.nif_error(:not_loaded)
3737

3838
@spec bind(db(), statement(), list()) ::
@@ -55,10 +55,10 @@ defmodule Exqlite.Sqlite3NIF do
5555
@spec transaction_status(db()) :: {:ok, :idle | :transaction}
5656
def transaction_status(_conn), do: :erlang.nif_error(:not_loaded)
5757

58-
@spec serialize(db(), String.Chars.t()) :: {:ok, binary()} | {:error, reason()}
58+
@spec serialize(db(), String.t()) :: {:ok, binary()} | {:error, reason()}
5959
def serialize(_conn, _database), do: :erlang.nif_error(:not_loaded)
6060

61-
@spec deserialize(db(), String.Chars.t(), binary()) :: :ok | {:error, reason()}
61+
@spec deserialize(db(), String.t(), binary()) :: :ok | {:error, reason()}
6262
def deserialize(_conn, _database, _serialized), do: :erlang.nif_error(:not_loaded)
6363

6464
@spec release(db(), statement()) :: :ok | {:error, reason()}

0 commit comments

Comments
 (0)