int nuodb_execute(struct nuodb *db, const char *sql, int64_t *rows_affected, int64_t *last_insert_id) { Statement *stmt = 0; try { stmt = db->conn->createStatement(); stmt->executeUpdate(sql, RETURN_GENERATED_KEYS); int rc = fetchExecuteResult(db, stmt, rows_affected, last_insert_id); stmt->close(); return rc; } catch (SQLException &e) { if (stmt) { stmt->close(); } return setError(db, e); } }