Make sure the statement is reset after a in step. Fixes #10
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
insert/2,
|
||||
prepare/2, prepare/3,
|
||||
step/1, step/2,
|
||||
reset/1,
|
||||
bind/2, bind/3,
|
||||
fetchone/1,
|
||||
fetchall/1,
|
||||
@@ -270,6 +271,14 @@ step(Stmt, Timeout) ->
|
||||
ok = esqlite3_nif:step(Stmt, Ref, self()),
|
||||
receive_answer(Ref, Timeout).
|
||||
|
||||
%% @doc Reset the prepared statement back to its initial state.
|
||||
%%
|
||||
%% @spec reset(prepared_statement()) -> ok | {error, error_message()}
|
||||
reset(Stmt) ->
|
||||
Ref = make_ref(),
|
||||
ok = esqlite3_nif:reset(Stmt, Ref, self()),
|
||||
receive_answer(Ref, ?DEFAULT_TIMEOUT).
|
||||
|
||||
%% @doc Bind values to prepared statements
|
||||
%%
|
||||
%% @spec bind(prepared_statement(), value_list()) -> ok | {error, error_message()}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
%% @doc Low level erlang API for sqlite3 databases
|
||||
|
||||
%% Copyright 2011, 2012, 2013 Maas-Maarten Zeeman
|
||||
%% Copyright 2011, 2012, 2013, 2014 Maas-Maarten Zeeman
|
||||
%%
|
||||
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||
%% you may not use this file except in compliance with the License.
|
||||
@@ -28,6 +28,7 @@
|
||||
insert/4,
|
||||
prepare/4,
|
||||
step/3,
|
||||
reset/3,
|
||||
finalize/3,
|
||||
bind/4,
|
||||
column_names/3,
|
||||
@@ -91,6 +92,12 @@ prepare(_Db, _Ref, _Dest, _Sql) ->
|
||||
step(_Stmt, _Ref, _Dest) ->
|
||||
exit(nif_library_not_loaded).
|
||||
|
||||
%% @doc
|
||||
%%
|
||||
%% @spec reset(statement(), reference(), pid()) -> ok | {error, message()}
|
||||
reset(_Stmt, _Ref, _Dest) ->
|
||||
exit(nif_library_not_loaded).
|
||||
|
||||
%% @doc
|
||||
%%
|
||||
%%
|
||||
|
||||
Reference in New Issue
Block a user