Simplified error handling of do_step as any error code can be returned by prepare_v2

This commit is contained in:
Maas-Maarten Zeeman
2014-06-16 16:36:12 +02:00
parent 297b829482
commit 2a5c521cda
2 changed files with 3 additions and 9 deletions

View File

@@ -511,14 +511,8 @@ do_step(ErlNifEnv *env, sqlite3 *db, sqlite3_stmt *stmt)
if(rc == SQLITE_BUSY)
return make_atom(env, "$busy");
if(rc == SQLITE_ERROR)
return make_sqlite3_error_tuple(env, rc, db);
if(rc == SQLITE_MISUSE)
return make_error_tuple(env, "misuse");
if(rc == SQLITE_CONSTRAINT)
return make_sqlite3_error_tuple(env, rc, db);
return make_error_tuple(env, "unexpected_return_value");
/* We use prepare_v2, so any error code can be returned. */
return make_sqlite3_error_tuple(env, rc, db);
}
static ERL_NIF_TERM

View File

@@ -213,7 +213,7 @@ error1_msg_test() ->
%% Database test does not exist.
{error, {sqlite_error, _Msg2}} = esqlite3:exec("select * from test;", Db),
%% Opening non-existant database.
{error, {cantopen, _Msg3}} = esqlite3:open("/dit/bestaat/niet"),
ok.