Adding prepare interface
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
-module(esqlite).
|
||||
-author("Maas-Maarten Zeeman <mmzeeman@xs4all.nl>").
|
||||
|
||||
-export([open/1, open/2, exec/2, exec/3, close/1, close/2]).
|
||||
-export([open/1, open/2, exec/2, prepare/2, prepare/3, exec/3, close/1, close/2]).
|
||||
|
||||
-on_load(init/0).
|
||||
|
||||
@@ -45,6 +45,16 @@ exec(Db, Sql, Timeout) ->
|
||||
ok = esqlite_exec(Db, Ref, self(), [Sql, 0]),
|
||||
receive_answer(Ref, Timeout).
|
||||
|
||||
%% @doc Prepare a statement
|
||||
%%
|
||||
prepare(Db, Sql) ->
|
||||
prepare(Db, Sql, ?DEFAULT_TIMEOUT).
|
||||
|
||||
prepare(Db, Sql, Timeout) ->
|
||||
Ref = make_ref(),
|
||||
ok = esqlite_prepare(Db, Ref, self(), [Sql, 0]),
|
||||
receive_answer(Ref, Timeout).
|
||||
|
||||
%% @doc Close the database
|
||||
%%
|
||||
close(Db) ->
|
||||
@@ -65,6 +75,9 @@ esqlite_open(_Db, _Ref, _Dest, _Filename) ->
|
||||
esqlite_exec(_Db, _Ref, _Dest, _Sql) ->
|
||||
exit(nif_library_not_loaded).
|
||||
|
||||
esqlite_prepare(_Db, _Ref, _Dest, _Sql) ->
|
||||
exit(nif_library_not_loaded).
|
||||
|
||||
esqlite_close(_Db, _Ref, _Dest) ->
|
||||
exit(nif_library_not_loaded).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user