From 2a5c521cda4229e96141f566c9a5fb29403767ec Mon Sep 17 00:00:00 2001 From: Maas-Maarten Zeeman Date: Mon, 16 Jun 2014 16:36:12 +0200 Subject: [PATCH] Simplified error handling of do_step as any error code can be returned by prepare_v2 --- c_src/esqlite3_nif.c | 10 ++-------- test/esqlite_test.erl | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/c_src/esqlite3_nif.c b/c_src/esqlite3_nif.c index 0b42202..24c8c5d 100644 --- a/c_src/esqlite3_nif.c +++ b/c_src/esqlite3_nif.c @@ -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 diff --git a/test/esqlite_test.erl b/test/esqlite_test.erl index 8685679..3368498 100644 --- a/test/esqlite_test.erl +++ b/test/esqlite_test.erl @@ -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.