Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions c_src/sqlite3_nif.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,7 @@ exqlite_multi_step(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
return am_busy;

case SQLITE_DONE:
sqlite3_reset(statement->statement);
return enif_make_tuple2(env, am_done, rows);

case SQLITE_ROW:
Expand Down Expand Up @@ -683,10 +684,13 @@ exqlite_step(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
am_row,
make_row(env, statement->statement));
case SQLITE_BUSY:
sqlite3_reset(statement->statement);
return am_busy;
case SQLITE_DONE:
sqlite3_reset(statement->statement);
return am_done;
default:
sqlite3_reset(statement->statement);
return make_sqlite3_error_tuple(env, rc, conn->db);
}
}
Expand Down
1 change: 0 additions & 1 deletion lib/exqlite/sqlite3.ex
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,6 @@ defmodule Exqlite.Sqlite3 do
args_count = length(args)

if args_count == params_count do
reset(stmt)
bind_all(args, stmt, 1)
else
raise ArgumentError, "expected #{params_count} arguments, got #{args_count}"
Expand Down
Loading