@@ -42,6 +42,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
42
42
}
43
43
#define SQLOK (f ) SQLRES(f, SQLITE_OK)
44
44
45
+ #define SQLOK_ERRSTREAM (s, m ) \
46
+ if ((s) != SQLITE_OK) { \
47
+ errorstream << " RollbackManager: " << (m) << " : " \
48
+ << sqlite3_errmsg (db) << std::endl; \
49
+ }
50
+
51
+ #define FINALIZE_STATEMENT (statement ) \
52
+ SQLOK_ERRSTREAM (sqlite3_finalize(statement), "Failed to finalize " #statement)
45
53
46
54
class ItemStackRow : public ItemStack {
47
55
public:
@@ -109,17 +117,17 @@ RollbackManager::~RollbackManager()
109
117
{
110
118
flush ();
111
119
112
- SQLOK ( sqlite3_finalize ( stmt_insert) );
113
- SQLOK ( sqlite3_finalize ( stmt_replace) );
114
- SQLOK ( sqlite3_finalize ( stmt_select) );
115
- SQLOK ( sqlite3_finalize ( stmt_select_range) );
116
- SQLOK ( sqlite3_finalize ( stmt_select_withActor) );
117
- SQLOK ( sqlite3_finalize ( stmt_knownActor_select) );
118
- SQLOK ( sqlite3_finalize ( stmt_knownActor_insert) );
119
- SQLOK ( sqlite3_finalize ( stmt_knownNode_select) );
120
- SQLOK ( sqlite3_finalize ( stmt_knownNode_insert) );
121
-
122
- SQLOK (sqlite3_close (db));
120
+ FINALIZE_STATEMENT ( stmt_insert);
121
+ FINALIZE_STATEMENT ( stmt_replace);
122
+ FINALIZE_STATEMENT ( stmt_select);
123
+ FINALIZE_STATEMENT ( stmt_select_range);
124
+ FINALIZE_STATEMENT ( stmt_select_withActor);
125
+ FINALIZE_STATEMENT ( stmt_knownActor_select);
126
+ FINALIZE_STATEMENT ( stmt_knownActor_insert);
127
+ FINALIZE_STATEMENT ( stmt_knownNode_select);
128
+ FINALIZE_STATEMENT ( stmt_knownNode_insert);
129
+
130
+ SQLOK_ERRSTREAM (sqlite3_close (db), " Could not close db " );
123
131
}
124
132
125
133
0 commit comments