diff --git a/mx_mysql.c b/mx_mysql.c index a047ead2..ea3a8e59 100644 --- a/mx_mysql.c +++ b/mx_mysql.c @@ -532,7 +532,7 @@ static int _mx_mysql_bind_integer(struct mx_mysql_bind *b, unsigned int index, v return 0; } -static int _mx_mysql_bind_string(struct mx_mysql_bind *b, unsigned int index, char **value) +void mx_mysql_bind_string(struct mx_mysql_bind *b, unsigned int index, char **value) { assert(b); assert(value); @@ -568,7 +568,6 @@ static int _mx_mysql_bind_string(struct mx_mysql_bind *b, unsigned int index, ch } b->data[index].flags = 1; - return 0; } static int _mx_mysql_bind_validate(struct mx_mysql_bind *b) @@ -988,7 +987,7 @@ static int mx_mysql_bind_cleanup(struct mx_mysql_bind *bind) return 0; } -static int mx_mysql_bind_init_from(struct mx_mysql_bind *bind, unsigned long count, enum mx_mysql_bind_type type, struct mx_mysql_bind *from) +static void mx_mysql_bind_init_from(struct mx_mysql_bind *bind, unsigned long count, enum mx_mysql_bind_type type, struct mx_mysql_bind *from) { assert(bind); @@ -1002,13 +1001,13 @@ static int mx_mysql_bind_init_from(struct mx_mysql_bind *bind, unsigned long cou assert(from->bind); assert(from->data); memcpy(bind, from, sizeof(*bind)); - return 0; + return; } - return mx_mysql_bind_init(bind, count, type); + mx_mysql_bind_init(bind, count, type); } -int mx_mysql_bind_init(struct mx_mysql_bind *bind, unsigned long count, enum mx_mysql_bind_type type) +void mx_mysql_bind_init(struct mx_mysql_bind *bind, unsigned long count, enum mx_mysql_bind_type type) { assert(bind); @@ -1020,12 +1019,10 @@ int mx_mysql_bind_init(struct mx_mysql_bind *bind, unsigned long count, enum mx_ bind->count = count; if (!count) - return 0; + return; bind->bind = mx_calloc_forever(bind->count, sizeof(*bind->bind)); bind->data = mx_calloc_forever(bind->count, sizeof(*bind->data)); - - return 0; } static int _mx_mysql_do_statement(struct mx_mysql *mysql, char *query, struct mx_mysql_bind *param, struct mx_mysql_bind *result, void *from, void **to, size_t size, char cleanup) @@ -1144,13 +1141,8 @@ static struct mx_mysql_stmt *mx_mysql_statement_prepare_with_bindings(struct mx_ if (res < 0) break; - res = mx_mysql_bind_init_from(&stmt->param, stmt->param_count, MX_MYSQL_BIND_TYPE_PARAM, param); - if (res < 0) - break; - - res = mx_mysql_bind_init_from(&stmt->result, stmt->field_count, MX_MYSQL_BIND_TYPE_RESULT, result); - if (res < 0) - break; + mx_mysql_bind_init_from(&stmt->param, stmt->param_count, MX_MYSQL_BIND_TYPE_PARAM, param); + mx_mysql_bind_init_from(&stmt->result, stmt->field_count, MX_MYSQL_BIND_TYPE_RESULT, result); return stmt; }; @@ -1209,55 +1201,42 @@ static int mx_mysql_bind_integer(struct mx_mysql_bind *b, unsigned int index, vo return res; } -int mx_mysql_bind_string(struct mx_mysql_bind *b, unsigned int index, char **value) -{ - int res; - - res = _mx_mysql_bind_string(b, index, value); - if (res == 0) - return 0; - - mx_log_debug("Failed to set index %d: %s", index, strerror(-res)); - return res; - -} - -int mx_mysql_bind_int8(struct mx_mysql_bind *b, unsigned int index, int8_t *value) +void mx_mysql_bind_int8(struct mx_mysql_bind *b, unsigned int index, int8_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_TINY, 0); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_TINY, 0); } -int mx_mysql_bind_uint8(struct mx_mysql_bind *b, unsigned int index, uint8_t *value) +void mx_mysql_bind_uint8(struct mx_mysql_bind *b, unsigned int index, uint8_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_TINY, 1); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_TINY, 1); } -int mx_mysql_bind_int16(struct mx_mysql_bind *b, unsigned int index, int16_t *value) +void mx_mysql_bind_int16(struct mx_mysql_bind *b, unsigned int index, int16_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_SHORT, 0); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_SHORT, 0); } -int mx_mysql_bind_uint16(struct mx_mysql_bind *b, unsigned int index, uint16_t *value) +void mx_mysql_bind_uint16(struct mx_mysql_bind *b, unsigned int index, uint16_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_SHORT, 1); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_SHORT, 1); } -int mx_mysql_bind_int32(struct mx_mysql_bind *b, unsigned int index, int32_t *value) +void mx_mysql_bind_int32(struct mx_mysql_bind *b, unsigned int index, int32_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONG, 0); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONG, 0); } -int mx_mysql_bind_uint32(struct mx_mysql_bind *b, unsigned int index, uint32_t *value) +void mx_mysql_bind_uint32(struct mx_mysql_bind *b, unsigned int index, uint32_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONG, 1); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONG, 1); } -int mx_mysql_bind_int64(struct mx_mysql_bind *b, unsigned int index, int64_t *value) +void mx_mysql_bind_int64(struct mx_mysql_bind *b, unsigned int index, int64_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONGLONG, 0); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONGLONG, 0); } -int mx_mysql_bind_uint64(struct mx_mysql_bind *b, unsigned int index, uint64_t *value) +void mx_mysql_bind_uint64(struct mx_mysql_bind *b, unsigned int index, uint64_t *value) { - return mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONGLONG, 1); + mx_mysql_bind_integer(b, index, (void *)value, MYSQL_TYPE_LONGLONG, 1); } diff --git a/mx_mysql.h b/mx_mysql.h index fd9c5a8a..c7f6e768 100644 --- a/mx_mysql.h +++ b/mx_mysql.h @@ -117,19 +117,19 @@ int mx_mysql_statement_close_no_bind_cleanup(struct mx_mysql_stmt **stmt); #define mx_mysql_bind_init_param(b, c) mx_mysql_bind_init((b), (c), MX_MYSQL_BIND_TYPE_PARAM) #define mx_mysql_bind_init_result(b, c) mx_mysql_bind_init((b), (c), MX_MYSQL_BIND_TYPE_RESULT) -int mx_mysql_bind_init(struct mx_mysql_bind *bind, unsigned long count, enum mx_mysql_bind_type type); +void mx_mysql_bind_init(struct mx_mysql_bind *bind, unsigned long count, enum mx_mysql_bind_type type); -int mx_mysql_bind_string(struct mx_mysql_bind *b, unsigned int index, char **value); +void mx_mysql_bind_string(struct mx_mysql_bind *b, unsigned int index, char **value); -int mx_mysql_bind_int8(struct mx_mysql_bind *b, unsigned int index, int8_t *value); -int mx_mysql_bind_int16(struct mx_mysql_bind *b, unsigned int index, int16_t *value); -int mx_mysql_bind_int32(struct mx_mysql_bind *b, unsigned int index, int32_t *value); -int mx_mysql_bind_int64(struct mx_mysql_bind *b, unsigned int index, int64_t *value); +void mx_mysql_bind_int8(struct mx_mysql_bind *b, unsigned int index, int8_t *value); +void mx_mysql_bind_int16(struct mx_mysql_bind *b, unsigned int index, int16_t *value); +void mx_mysql_bind_int32(struct mx_mysql_bind *b, unsigned int index, int32_t *value); +void mx_mysql_bind_int64(struct mx_mysql_bind *b, unsigned int index, int64_t *value); -int mx_mysql_bind_uint8(struct mx_mysql_bind *b, unsigned int index, uint8_t *value); -int mx_mysql_bind_uint16(struct mx_mysql_bind *b, unsigned int index, uint16_t *value); -int mx_mysql_bind_uint32(struct mx_mysql_bind *b, unsigned int index, uint32_t *value); -int mx_mysql_bind_uint64(struct mx_mysql_bind *b, unsigned int index, uint64_t *value); +void mx_mysql_bind_uint8(struct mx_mysql_bind *b, unsigned int index, uint8_t *value); +void mx_mysql_bind_uint16(struct mx_mysql_bind *b, unsigned int index, uint16_t *value); +void mx_mysql_bind_uint32(struct mx_mysql_bind *b, unsigned int index, uint32_t *value); +void mx_mysql_bind_uint64(struct mx_mysql_bind *b, unsigned int index, uint64_t *value); char *mx_mysql_error(void); diff --git a/mxq_daemon.c b/mxq_daemon.c index 66e7d320..ead607b5 100644 --- a/mxq_daemon.c +++ b/mxq_daemon.c @@ -110,27 +110,25 @@ int mxq_daemon_register(struct mx_mysql *mysql, struct mxq_daemon *daemon) idx = 0; - res = mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->daemon_name)); - res += mx_mysql_statement_param_bind(stmt, idx++, uint8, &(daemon->status)); - res += mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->hostname)); - res += mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->mxq_version)); - res += mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->boot_id)); - - res += mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->pid_starttime)); - res += mx_mysql_statement_param_bind(stmt, idx++, uint32, &(daemon->daemon_pid)); - - res += mx_mysql_statement_param_bind(stmt, idx++, uint32, &(daemon->daemon_slots)); - res += mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_memory)); - res += mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_maxtime)); - - res += mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_memory_limit_slot_soft)); - res += mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_memory_limit_slot_hard)); - res += mx_mysql_statement_param_bind(stmt, idx++, uint16, &(daemon->gpus_max)); - res += mx_mysql_statement_param_bind(stmt, idx++, int32, &(daemon->daemon_flags)); - res += mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->tags)); - res += mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->prerequisites)); - - assert(res ==0); + mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->daemon_name)); + mx_mysql_statement_param_bind(stmt, idx++, uint8, &(daemon->status)); + mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->hostname)); + mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->mxq_version)); + mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->boot_id)); + + mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->pid_starttime)); + mx_mysql_statement_param_bind(stmt, idx++, uint32, &(daemon->daemon_pid)); + + mx_mysql_statement_param_bind(stmt, idx++, uint32, &(daemon->daemon_slots)); + mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_memory)); + mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_maxtime)); + + mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_memory_limit_slot_soft)); + mx_mysql_statement_param_bind(stmt, idx++, uint64, &(daemon->daemon_memory_limit_slot_hard)); + mx_mysql_statement_param_bind(stmt, idx++, uint16, &(daemon->gpus_max)); + mx_mysql_statement_param_bind(stmt, idx++, int32, &(daemon->daemon_flags)); + mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->tags)); + mx_mysql_statement_param_bind(stmt, idx++, string, &(daemon->prerequisites)); res = mx_mysql_statement_execute(stmt, &num_rows); if (res < 0) { @@ -168,15 +166,13 @@ int mxq_daemon_shutdown(struct mx_mysql *mysql, struct mxq_daemon *daemon) " status = " status_str(MXQ_DAEMON_STATUS_EXITED) " WHERE daemon_id = ?"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_id)); + mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_id)); assert(res == 0); - res += mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); + res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { mx_log_err("mx_mysql_do_statement(): %s", mx_mysql_error()); return res; @@ -209,17 +205,14 @@ int mxq_daemon_mark_crashed(struct mx_mysql *mysql, struct mxq_daemon *daemon) " AND hostname = ?" " AND daemon_name = ?"; - res = mx_mysql_bind_init_param(¶m, 3); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 3); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint32, &daemon->daemon_id); - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint32, &daemon->daemon_id); + mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); + mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); - res += mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); + res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { mx_log_err("mx_mysql_do_statement(): %s", mx_mysql_error()); return res; @@ -249,16 +242,13 @@ int mxq_daemon_set_status(struct mx_mysql *mysql, struct mxq_daemon *daemon, uin " status = ?" " WHERE daemon_id = ?"; - res = mx_mysql_bind_init_param(¶m, 2); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 2); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint8, &(status)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_id)); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint8, &(status)); + mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_id)); - res += mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); + res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { mx_log_err("mx_mysql_do_statement(): %s", mx_mysql_error()); return res; @@ -290,18 +280,15 @@ int mxq_daemon_update_statistics(struct mx_mysql *mysql, struct mxq_daemon *daem " daemon_gpus_used = ?" " WHERE daemon_id = ?"; - res = mx_mysql_bind_init_param(¶m, 6); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 6); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_jobs_running)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_slots_running)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_threads_running)); - res += mx_mysql_bind_var(¶m, idx++, uint64, &(daemon->daemon_memory_used)); - res += mx_mysql_bind_var(¶m, idx++, uint16, &(daemon->gpus_used)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_id)); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_jobs_running)); + mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_slots_running)); + mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_threads_running)); + mx_mysql_bind_var(¶m, idx++, uint64, &(daemon->daemon_memory_used)); + mx_mysql_bind_var(¶m, idx++, uint16, &(daemon->gpus_used)); + mx_mysql_bind_var(¶m, idx++, uint32, &(daemon->daemon_id)); res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { diff --git a/mxq_group.c b/mxq_group.c index d6527ecb..8d44c363 100644 --- a/mxq_group.c +++ b/mxq_group.c @@ -52,62 +52,58 @@ " stats_idle_sec" -static int bind_result_group_fields(struct mx_mysql_bind *result, struct mxq_group *g) +static void bind_result_group_fields(struct mx_mysql_bind *result, struct mxq_group *g) { - int res = 0; int idx = 0; - res = mx_mysql_bind_init_result(result, GROUP_FIELDS_CNT); - assert(res >= 0); - - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_id)); - res += mx_mysql_bind_var(result, idx++, string, &(g->group_name)); - res += mx_mysql_bind_var(result, idx++, uint8, &(g->group_status)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_flags)); - res += mx_mysql_bind_var(result, idx++, uint16, &(g->group_priority)); - res += mx_mysql_bind_var(result, idx++, string, &(g->group_blacklist)); - res += mx_mysql_bind_var(result, idx++, string, &(g->group_whitelist)); - res += mx_mysql_bind_var(result, idx++, string, &(g->prerequisites)); - res += mx_mysql_bind_var(result, idx++, string, &(g->tags)); - - res += mx_mysql_bind_var(result, idx++, uint32, &(g->user_uid)); - res += mx_mysql_bind_var(result, idx++, string, &(g->user_name)); - res += mx_mysql_bind_var(result, idx++, uint32, &(g->user_gid)); - res += mx_mysql_bind_var(result, idx++, string, &(g->user_group)); - - res += mx_mysql_bind_var(result, idx++, string, &(g->job_command)); - - res += mx_mysql_bind_var(result, idx++, uint16, &(g->job_threads)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->job_memory)); - res += mx_mysql_bind_var(result, idx++, uint32, &(g->job_time)); - res += mx_mysql_bind_var(result, idx++, uint32, &(g->job_tmpdir_size)); - - res += mx_mysql_bind_var(result, idx++, uint16, &(g->job_max_per_node)); - res += mx_mysql_bind_var(result, idx++, uint16, &(g->job_gpu)); - - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_inq)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_running)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_finished)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_failed)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_cancelled)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_unknown)); - - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_restarted)); - - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_slots_running)); - - res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_max_sumrss)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_max_maxrss)); - res += mx_mysql_bind_var(result, idx++, int64, &(g->stats_max_utime.tv_sec)); - res += mx_mysql_bind_var(result, idx++, int64, &(g->stats_max_stime.tv_sec)); - res += mx_mysql_bind_var(result, idx++, int64, &(g->stats_max_real.tv_sec)); - - res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_wait_sec)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_run_sec)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_idle_sec)); - - return res; + mx_mysql_bind_init_result(result, GROUP_FIELDS_CNT); + + mx_mysql_bind_var(result, idx++, uint64, &(g->group_id)); + mx_mysql_bind_var(result, idx++, string, &(g->group_name)); + mx_mysql_bind_var(result, idx++, uint8, &(g->group_status)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_flags)); + mx_mysql_bind_var(result, idx++, uint16, &(g->group_priority)); + mx_mysql_bind_var(result, idx++, string, &(g->group_blacklist)); + mx_mysql_bind_var(result, idx++, string, &(g->group_whitelist)); + mx_mysql_bind_var(result, idx++, string, &(g->prerequisites)); + mx_mysql_bind_var(result, idx++, string, &(g->tags)); + + mx_mysql_bind_var(result, idx++, uint32, &(g->user_uid)); + mx_mysql_bind_var(result, idx++, string, &(g->user_name)); + mx_mysql_bind_var(result, idx++, uint32, &(g->user_gid)); + mx_mysql_bind_var(result, idx++, string, &(g->user_group)); + + mx_mysql_bind_var(result, idx++, string, &(g->job_command)); + + mx_mysql_bind_var(result, idx++, uint16, &(g->job_threads)); + mx_mysql_bind_var(result, idx++, uint64, &(g->job_memory)); + mx_mysql_bind_var(result, idx++, uint32, &(g->job_time)); + mx_mysql_bind_var(result, idx++, uint32, &(g->job_tmpdir_size)); + + mx_mysql_bind_var(result, idx++, uint16, &(g->job_max_per_node)); + mx_mysql_bind_var(result, idx++, uint16, &(g->job_gpu)); + + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_inq)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_running)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_finished)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_failed)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_cancelled)); + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_unknown)); + + mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_restarted)); + + mx_mysql_bind_var(result, idx++, uint64, &(g->group_slots_running)); + + mx_mysql_bind_var(result, idx++, uint64, &(g->stats_max_sumrss)); + mx_mysql_bind_var(result, idx++, uint64, &(g->stats_max_maxrss)); + mx_mysql_bind_var(result, idx++, int64, &(g->stats_max_utime.tv_sec)); + mx_mysql_bind_var(result, idx++, int64, &(g->stats_max_stime.tv_sec)); + mx_mysql_bind_var(result, idx++, int64, &(g->stats_max_real.tv_sec)); + + mx_mysql_bind_var(result, idx++, uint64, &(g->stats_wait_sec)); + mx_mysql_bind_var(result, idx++, uint64, &(g->stats_run_sec)); + mx_mysql_bind_var(result, idx++, uint64, &(g->stats_idle_sec)); } void mxq_group_free_content(struct mxq_group *g) @@ -182,13 +178,10 @@ int mxq_load_group(struct mx_mysql *mysql, struct mxq_group **mxq_groups, uint64 " WHERE group_id = ?" " LIMIT 1"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); - res = mx_mysql_bind_var(¶m, 0, uint64, &group_id); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); + mx_mysql_bind_var(¶m, 0, uint64, &group_id); - res = bind_result_group_fields(&result, &g); - assert(res == 0); + bind_result_group_fields(&result, &g); res = mx_mysql_do_statement(mysql, query, ¶m, &result, &g, (void **)&groups, sizeof(*groups)); if (res < 0) { @@ -217,8 +210,7 @@ int mxq_load_all_groups(struct mx_mysql *mysql, struct mxq_group **mxq_groups) " FROM mxq_group" " ORDER BY user_name, group_mtime"; - res = bind_result_group_fields(&result, &g); - assert(res == 0); + bind_result_group_fields(&result, &g); res = mx_mysql_do_statement(mysql, query, NULL, &result, &g, (void **)&groups, sizeof(*groups)); if (res < 0) { @@ -249,13 +241,10 @@ int mxq_load_all_groups_for_user(struct mx_mysql *mysql, struct mxq_group **mxq_ " WHERE user_uid = ?" " ORDER BY user_name, group_mtime"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); - res = mx_mysql_bind_var(¶m, 0, uint64, &user_uid); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); + mx_mysql_bind_var(¶m, 0, uint64, &user_uid); - res = bind_result_group_fields(&result, &g); - assert(res == 0); + bind_result_group_fields(&result, &g); res = mx_mysql_do_statement(mysql, query, ¶m, &result, &g, (void **)&groups, sizeof(*groups)); if (res < 0) { @@ -288,13 +277,10 @@ int mxq_load_active_groups_for_user(struct mx_mysql *mysql, struct mxq_group **m " AND user_uid = ?" " ORDER BY user_name, group_mtime"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); - res = mx_mysql_bind_var(¶m, 0, uint64, &user_uid); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); + mx_mysql_bind_var(¶m, 0, uint64, &user_uid); - res = bind_result_group_fields(&result, &g); - assert(res == 0); + bind_result_group_fields(&result, &g); res = mx_mysql_do_statement(mysql, query, ¶m, &result, &g, (void **)&groups, sizeof(*groups)); if (res < 0) { @@ -324,8 +310,7 @@ int mxq_load_running_groups(struct mx_mysql *mysql, struct mxq_group **mxq_group " WHERE (group_jobs_inq > 0 OR group_jobs_running > 0)" " ORDER BY user_name, group_mtime"; - res = bind_result_group_fields(&result, &g); - assert(res == 0); + bind_result_group_fields(&result, &g); res = mx_mysql_do_statement(mysql, query, NULL, &result, &g, (void **)&groups, sizeof(*groups)); if (res < 0) { @@ -357,13 +342,10 @@ int mxq_load_running_groups_for_user(struct mx_mysql *mysql, struct mxq_group ** " AND user_uid = ?" " ORDER BY user_name, group_mtime"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); - res = mx_mysql_bind_var(¶m, 0, uint64, &user_uid); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); + mx_mysql_bind_var(¶m, 0, uint64, &user_uid); - res = bind_result_group_fields(&result, &g); - assert(res == 0); + bind_result_group_fields(&result, &g); res = mx_mysql_do_statement(mysql, query, ¶m, &result, &g, (void **)&groups, sizeof(*groups)); if (res < 0) { diff --git a/mxq_job.c b/mxq_job.c index 44437a38..b9942927 100644 --- a/mxq_job.c +++ b/mxq_job.c @@ -59,54 +59,50 @@ " stats_nvcsw, " \ " stats_nivcsw" -static int bind_result_job_fields(struct mx_mysql_bind *result, struct mxq_job *j) +static void bind_result_job_fields(struct mx_mysql_bind *result, struct mxq_job *j) { - int res = 0; int idx = 0; - res = mx_mysql_bind_init_result(result, JOB_FIELDS_CNT); - assert(res >= 0); - - res += mx_mysql_bind_var(result, idx++, uint64, &(j->job_id)); - res += mx_mysql_bind_var(result, idx++, uint16, &(j->job_status)); - res += mx_mysql_bind_var(result, idx++, uint64, &(j->job_flags)); - res += mx_mysql_bind_var(result, idx++, uint16, &(j->job_priority)); - res += mx_mysql_bind_var(result, idx++, uint64, &(j->group_id)); - res += mx_mysql_bind_var(result, idx++, string, &(j->job_workdir)); - res += mx_mysql_bind_var(result, idx++, uint32, &(j->job_argc)); - res += mx_mysql_bind_var(result, idx++, string, &(j->job_argv_str)); - res += mx_mysql_bind_var(result, idx++, string, &(j->job_stdout)); - res += mx_mysql_bind_var(result, idx++, string, &(j->job_stderr)); - res += mx_mysql_bind_var(result, idx++, uint32, &(j->job_umask)); - res += mx_mysql_bind_var(result, idx++, string, &(j->host_submit)); - res += mx_mysql_bind_var(result, idx++, string, &(j->host_id)); - res += mx_mysql_bind_var(result, idx++, uint32, &(j->daemon_id)); - res += mx_mysql_bind_var(result, idx++, string, &(j->daemon_name)); - res += mx_mysql_bind_var(result, idx++, string, &(j->host_hostname)); - res += mx_mysql_bind_var(result, idx++, uint32, &(j->host_pid)); - res += mx_mysql_bind_var(result, idx++, uint32, &(j->host_slots)); - res += mx_mysql_bind_var(result, idx++, string, &(j->host_cpu_set_str)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->date_submit)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->date_start)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->date_end)); - res += mx_mysql_bind_var(result, idx++, uint64, &(j->stats_max_sumrss)); - res += mx_mysql_bind_var(result, idx++, int32, &(j->stats_status)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_utime.tv_sec)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_utime.tv_usec)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_stime.tv_sec)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_stime.tv_usec)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_realtime.tv_sec)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_realtime.tv_usec)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_maxrss)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_minflt)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_majflt)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_nswap)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_inblock)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_oublock)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_nvcsw)); - res += mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_nivcsw)); - - return res; + mx_mysql_bind_init_result(result, JOB_FIELDS_CNT); + + mx_mysql_bind_var(result, idx++, uint64, &(j->job_id)); + mx_mysql_bind_var(result, idx++, uint16, &(j->job_status)); + mx_mysql_bind_var(result, idx++, uint64, &(j->job_flags)); + mx_mysql_bind_var(result, idx++, uint16, &(j->job_priority)); + mx_mysql_bind_var(result, idx++, uint64, &(j->group_id)); + mx_mysql_bind_var(result, idx++, string, &(j->job_workdir)); + mx_mysql_bind_var(result, idx++, uint32, &(j->job_argc)); + mx_mysql_bind_var(result, idx++, string, &(j->job_argv_str)); + mx_mysql_bind_var(result, idx++, string, &(j->job_stdout)); + mx_mysql_bind_var(result, idx++, string, &(j->job_stderr)); + mx_mysql_bind_var(result, idx++, uint32, &(j->job_umask)); + mx_mysql_bind_var(result, idx++, string, &(j->host_submit)); + mx_mysql_bind_var(result, idx++, string, &(j->host_id)); + mx_mysql_bind_var(result, idx++, uint32, &(j->daemon_id)); + mx_mysql_bind_var(result, idx++, string, &(j->daemon_name)); + mx_mysql_bind_var(result, idx++, string, &(j->host_hostname)); + mx_mysql_bind_var(result, idx++, uint32, &(j->host_pid)); + mx_mysql_bind_var(result, idx++, uint32, &(j->host_slots)); + mx_mysql_bind_var(result, idx++, string, &(j->host_cpu_set_str)); + mx_mysql_bind_var(result, idx++, int64, &(j->date_submit)); + mx_mysql_bind_var(result, idx++, int64, &(j->date_start)); + mx_mysql_bind_var(result, idx++, int64, &(j->date_end)); + mx_mysql_bind_var(result, idx++, uint64, &(j->stats_max_sumrss)); + mx_mysql_bind_var(result, idx++, int32, &(j->stats_status)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_utime.tv_sec)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_utime.tv_usec)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_stime.tv_sec)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_stime.tv_usec)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_realtime.tv_sec)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_realtime.tv_usec)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_maxrss)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_minflt)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_majflt)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_nswap)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_inblock)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_oublock)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_nvcsw)); + mx_mysql_bind_var(result, idx++, int64, &(j->stats_rusage.ru_nivcsw)); } char *mxq_job_status_to_name(uint64_t status) @@ -164,8 +160,7 @@ static int do_jobs_statement(struct mx_mysql *mysql, char *query, struct mx_mysq struct mxq_job j = {0}; struct mx_mysql_bind result = {0}; - res = bind_result_job_fields(&result, &j); - assert(res == 0); + bind_result_job_fields(&result, &j); res = mx_mysql_do_statement(mysql, query, param, &result, &j, (void **)jobs, sizeof(**jobs)); if (res < 0) { @@ -196,13 +191,10 @@ int mxq_load_job(struct mx_mysql *mysql, struct mxq_job **jobs_result, uint64_t " WHERE job_id = ?" " LIMIT 1"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint64, &job_id); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint64, &job_id); res = do_jobs_statement(mysql, query, ¶m, &jobs_tmp); if (res >= 0) @@ -228,11 +220,9 @@ int mxq_load_jobs_in_group(struct mx_mysql *mysql, struct mxq_job **jobs_result, " WHERE group_id = ? OR 1 = 0" " ORDER BY server_id, host_hostname, job_id"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); - res = mx_mysql_bind_var(¶m, 0, uint64, &(grp->group_id)); - assert(res == 0); + mx_mysql_bind_var(¶m, 0, uint64, &(grp->group_id)); res = do_jobs_statement(mysql, query, ¶m, &jobs_tmp); if (res >= 0) @@ -263,14 +253,11 @@ int mxq_load_jobs_in_group_with_status(struct mx_mysql *mysql, struct mxq_job ** " host_hostname," " job_id"; - res = mx_mysql_bind_init_param(¶m, 2); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 2); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint64, &(grp->group_id)); - res += mx_mysql_bind_var(¶m, idx++, uint64, &job_status); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint64, &(grp->group_id)); + mx_mysql_bind_var(¶m, idx++, uint64, &job_status); res = do_jobs_statement(mysql, query, ¶m, &jobs_tmp); if (res >= 0) @@ -303,17 +290,13 @@ static uint64_t mxq_select_job_from_group(struct mx_mysql *mysql, uint64_t group " job_id" " LIMIT 1"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res==0); + mx_mysql_bind_init_param(¶m, 1); - res += mx_mysql_bind_var(¶m,0, uint64, &group_id); - assert(res==0); + mx_mysql_bind_var(¶m,0, uint64, &group_id); - res = mx_mysql_bind_init_result(&result, 1); - assert(res==0); + mx_mysql_bind_init_result(&result, 1); - res += mx_mysql_bind_var(&result,0,uint64,&job_id); - assert(res==0); + mx_mysql_bind_var(&result,0,uint64,&job_id); res = mx_mysql_do_statement(mysql, query, ¶m, &result, &job_id, (void **)&job_id_out,sizeof(*job_id_out)); if (res==1) { @@ -358,17 +341,14 @@ static int mxq_assign_job_from_group_to_daemon(struct mx_mysql *mysql, uint64_t return(0); } - res = mx_mysql_bind_init_param(¶m, 5); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 5); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint32, &daemon->daemon_id); - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); - res += mx_mysql_bind_var(¶m, idx++, uint64, &slots_per_job); - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); - res += mx_mysql_bind_var(¶m, idx++, uint64, &job_id); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint32, &daemon->daemon_id); + mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); + mx_mysql_bind_var(¶m, idx++, uint64, &slots_per_job); + mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); + mx_mysql_bind_var(¶m, idx++, uint64, &job_id); res = mx_mysql_do_statement_noresult(mysql, query, ¶m); if (res < 0) @@ -405,14 +385,11 @@ int mxq_unassign_jobs_of_server(struct mx_mysql *mysql, struct mxq_daemon *daemo " AND host_hostname = ?" " AND server_id = ?"; - res = mx_mysql_bind_init_param(¶m, 2); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 2); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); + mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { @@ -447,15 +424,12 @@ static int mxq_set_job_status_loaded_on_server(struct mx_mysql *mysql, struct mx " AND daemon_id = ?" " AND host_pid = 0"; - res = mx_mysql_bind_init_param(¶m, 3); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 3); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, string, &host_id); - res += mx_mysql_bind_var(¶m, idx++, uint64, &(job->job_id)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(job->daemon_id)); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, string, &host_id); + mx_mysql_bind_var(¶m, idx++, uint64, &(job->job_id)); + mx_mysql_bind_var(¶m, idx++, uint32, &(job->daemon_id)); res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { @@ -501,18 +475,15 @@ int mxq_set_job_status_running(struct mx_mysql *mysql, struct mxq_job *job) " AND daemon_id = ?" " AND host_pid = 0"; - res = mx_mysql_bind_init_param(¶m, 5); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 5); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint32, &(job->host_pid)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(job->host_slots)); - res += mx_mysql_bind_var(¶m, idx++, string, &(job->host_cpu_set_str)); + mx_mysql_bind_var(¶m, idx++, uint32, &(job->host_pid)); + mx_mysql_bind_var(¶m, idx++, uint32, &(job->host_slots)); + mx_mysql_bind_var(¶m, idx++, string, &(job->host_cpu_set_str)); - res += mx_mysql_bind_var(¶m, idx++, uint64, &(job->job_id)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(job->daemon_id)); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint64, &(job->job_id)); + mx_mysql_bind_var(¶m, idx++, uint32, &(job->daemon_id)); res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { @@ -579,32 +550,29 @@ int mxq_set_job_status_exited(struct mx_mysql *mysql, struct mxq_job *job) " AND daemon_id = ?" " AND host_pid = ?"; - res = mx_mysql_bind_init_param(¶m, 20); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 20); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint64, &(job->stats_max_sumrss)); - res += mx_mysql_bind_var(¶m, idx++, int32, &(job->stats_status)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_utime.tv_sec)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_utime.tv_usec)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_stime.tv_sec)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_stime.tv_usec)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_realtime.tv_sec)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_realtime.tv_usec)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_maxrss)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_minflt)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_majflt)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_nswap)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_inblock)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_oublock)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_nvcsw)); - res += mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_nivcsw)); - res += mx_mysql_bind_var(¶m, idx++, uint16, &(newstatus)); - res += mx_mysql_bind_var(¶m, idx++, uint64, &(job->job_id)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(job->daemon_id)); - res += mx_mysql_bind_var(¶m, idx++, uint32, &(job->host_pid)); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint64, &(job->stats_max_sumrss)); + mx_mysql_bind_var(¶m, idx++, int32, &(job->stats_status)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_utime.tv_sec)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_utime.tv_usec)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_stime.tv_sec)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_stime.tv_usec)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_realtime.tv_sec)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_realtime.tv_usec)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_maxrss)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_minflt)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_majflt)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_nswap)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_inblock)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_oublock)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_nvcsw)); + mx_mysql_bind_var(¶m, idx++, int64, &(job->stats_rusage.ru_nivcsw)); + mx_mysql_bind_var(¶m, idx++, uint16, &(newstatus)); + mx_mysql_bind_var(¶m, idx++, uint64, &(job->job_id)); + mx_mysql_bind_var(¶m, idx++, uint32, &(job->daemon_id)); + mx_mysql_bind_var(¶m, idx++, uint32, &(job->host_pid)); res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { @@ -630,15 +598,12 @@ int mxq_set_job_status_unknown(struct mx_mysql *mysql, struct mxq_job *job) " job_status = " status_str(MXQ_JOB_STATUS_UNKNOWN) " WHERE job_id = ?"; - res = mx_mysql_bind_init_param(¶m, 1); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 1); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint64, &job->job_id); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint64, &job->job_id); - res += mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); + res = mx_mysql_do_statement_noresult_retry_on_fail(mysql, query, ¶m); if (res < 0) { mx_log_err("mx_mysql_do_statement(): %s", mx_mysql_error()); return res; @@ -698,14 +663,11 @@ static int mxq_load_job_from_group_assigned_to_daemon(struct mx_mysql *mysql, st " AND daemon_id = ?" " LIMIT 1"; - res = mx_mysql_bind_init_param(¶m, 2); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 2); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, uint64, &group_id); - res += mx_mysql_bind_var(¶m, idx++, uint32, &daemon->daemon_id); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, uint64, &group_id); + mx_mysql_bind_var(¶m, idx++, uint32, &daemon->daemon_id); res = do_jobs_statement(mysql, query, ¶m, &jobs_tmp); if (res >= 0) @@ -783,14 +745,11 @@ int mxq_load_jobs_running_on_server(struct mx_mysql *mysql, struct mxq_job **job status_str(MXQ_JOB_STATUS_RUNNING) ")" " AND host_hostname = ?" " AND server_id = ?"; - res = mx_mysql_bind_init_param(¶m, 2); - assert(res == 0); + mx_mysql_bind_init_param(¶m, 2); idx = 0; - res = 0; - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); - res += mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); - assert(res == 0); + mx_mysql_bind_var(¶m, idx++, string, &daemon->hostname); + mx_mysql_bind_var(¶m, idx++, string, &daemon->daemon_name); res=do_jobs_statement(mysql, query, ¶m, &jobs_tmp); if (res >= 0) diff --git a/mxqadmin.c b/mxqadmin.c index ac3817a2..c4746f3c 100644 --- a/mxqadmin.c +++ b/mxqadmin.c @@ -93,10 +93,9 @@ static int update_group_flags_closed(struct mx_mysql *mysql, uint64_t group_id, return -(errno=EIO); } - res = mx_mysql_statement_param_bind(stmt, 0, uint64, &(newflags)); - res += mx_mysql_statement_param_bind(stmt, 1, uint64, &(group_id)); - res += mx_mysql_statement_param_bind(stmt, 2, uint32, &(user_uid)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, uint64, &(newflags)); + mx_mysql_statement_param_bind(stmt, 1, uint64, &(group_id)); + mx_mysql_statement_param_bind(stmt, 2, uint32, &(user_uid)); res = mx_mysql_statement_execute(stmt, &num_rows); @@ -132,10 +131,9 @@ static int update_group_flags_reopen(struct mx_mysql *mysql, uint64_t group_id, return -(errno=EIO); } - res = mx_mysql_statement_param_bind(stmt, 0, uint64, &(newflags)); - res += mx_mysql_statement_param_bind(stmt, 1, uint64, &(group_id)); - res += mx_mysql_statement_param_bind(stmt, 2, uint32, &(user_uid)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, uint64, &(newflags)); + mx_mysql_statement_param_bind(stmt, 1, uint64, &(group_id)); + mx_mysql_statement_param_bind(stmt, 2, uint32, &(user_uid)); res = mx_mysql_statement_execute(stmt, &num_rows); diff --git a/mxqkill.c b/mxqkill.c index 90077e13..667122a9 100644 --- a/mxqkill.c +++ b/mxqkill.c @@ -94,9 +94,8 @@ static int update_group_status_cancelled(struct mx_mysql *mysql, struct mxq_grou return -(errno=EIO); } - res = mx_mysql_statement_param_bind(stmt, 0, uint64, &(g->group_id)); - res += mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, uint64, &(g->group_id)); + mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); res = mx_mysql_statement_execute(stmt, &num_rows); @@ -134,8 +133,7 @@ static int update_job_status_cancelled_by_group(struct mx_mysql *mysql, struct m return -(errno=EIO); } - res = mx_mysql_statement_param_bind(stmt, 0, uint64, &(g->group_id)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, uint64, &(g->group_id)); res = mx_mysql_statement_execute(stmt, &num_rows); @@ -176,9 +174,8 @@ static int update_job_status_cancelling_by_job_id_for_user(struct mx_mysql *mysq return -(errno=EIO); } - res = mx_mysql_statement_param_bind(stmt, 0, uint64, &(job_id)); - res += mx_mysql_statement_param_bind(stmt, 1, uint64, &(user_uid)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, uint64, &(job_id)); + mx_mysql_statement_param_bind(stmt, 1, uint64, &(user_uid)); res = mx_mysql_statement_execute(stmt, &num_rows); @@ -215,8 +212,7 @@ static int update_job_status_cancelled_by_job_id(struct mx_mysql *mysql, uint64_ return -(errno=EIO); } - res = mx_mysql_statement_param_bind(stmt, 0, uint64, &(job_id)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, uint64, &(job_id)); res = mx_mysql_statement_execute(stmt, &num_rows); diff --git a/mxqsub.c b/mxqsub.c index 526a5d47..ef236d51 100644 --- a/mxqsub.c +++ b/mxqsub.c @@ -183,25 +183,24 @@ static int load_group_id(struct mx_mysql *mysql, struct mxq_group *g) return -errno; } - res = mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); - res += mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); - res += mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); - res += mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); - res += mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); - res += mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); - res += mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); - res += mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); - res += mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); - res += mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); - res += mx_mysql_statement_param_bind(stmt, 10, uint16, &(g->job_gpu)); - res += mx_mysql_statement_param_bind(stmt, 11, uint16, &(g->job_max_per_node)); - res += mx_mysql_statement_param_bind(stmt, 12, uint16, &(g->group_priority)); - res += mx_mysql_statement_param_bind(stmt, 13, string, &(g->group_blacklist)); - res += mx_mysql_statement_param_bind(stmt, 14, string, &(g->group_whitelist)); - res += mx_mysql_statement_param_bind(stmt, 15, string, &(g->prerequisites)); - res += mx_mysql_statement_param_bind(stmt, 16, string, &(g->tags)); - res += mx_mysql_statement_param_bind(stmt, 17, uint64, &(flags)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); + mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); + mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); + mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); + mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); + mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); + mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); + mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); + mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); + mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); + mx_mysql_statement_param_bind(stmt, 10, uint16, &(g->job_gpu)); + mx_mysql_statement_param_bind(stmt, 11, uint16, &(g->job_max_per_node)); + mx_mysql_statement_param_bind(stmt, 12, uint16, &(g->group_priority)); + mx_mysql_statement_param_bind(stmt, 13, string, &(g->group_blacklist)); + mx_mysql_statement_param_bind(stmt, 14, string, &(g->group_whitelist)); + mx_mysql_statement_param_bind(stmt, 15, string, &(g->prerequisites)); + mx_mysql_statement_param_bind(stmt, 16, string, &(g->tags)); + mx_mysql_statement_param_bind(stmt, 17, uint64, &(flags)); res = mx_mysql_statement_execute(stmt, &num_rows); if (res < 0) { @@ -279,26 +278,25 @@ static int load_group_id_by_group_id(struct mx_mysql *mysql, struct mxq_group *g return -errno; } - res = mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); - res += mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); - res += mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); - res += mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); - res += mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); - res += mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); - res += mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); - res += mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); - res += mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); - res += mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); - res += mx_mysql_statement_param_bind(stmt, 10, uint16, &(g->job_gpu)); - res += mx_mysql_statement_param_bind(stmt, 11, uint16, &(g->job_max_per_node)); - res += mx_mysql_statement_param_bind(stmt, 12, uint16, &(g->group_priority)); - res += mx_mysql_statement_param_bind(stmt, 13, string, &(g->group_blacklist)); - res += mx_mysql_statement_param_bind(stmt, 14, string, &(g->group_whitelist)); - res += mx_mysql_statement_param_bind(stmt, 15, string, &(g->prerequisites)); - res += mx_mysql_statement_param_bind(stmt, 16, string, &(g->tags)); - res += mx_mysql_statement_param_bind(stmt, 17, uint64, &(g->group_id)); - res += mx_mysql_statement_param_bind(stmt, 18, uint64, &(flags)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); + mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); + mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); + mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); + mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); + mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); + mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); + mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); + mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); + mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); + mx_mysql_statement_param_bind(stmt, 10, uint16, &(g->job_gpu)); + mx_mysql_statement_param_bind(stmt, 11, uint16, &(g->job_max_per_node)); + mx_mysql_statement_param_bind(stmt, 12, uint16, &(g->group_priority)); + mx_mysql_statement_param_bind(stmt, 13, string, &(g->group_blacklist)); + mx_mysql_statement_param_bind(stmt, 14, string, &(g->group_whitelist)); + mx_mysql_statement_param_bind(stmt, 15, string, &(g->prerequisites)); + mx_mysql_statement_param_bind(stmt, 16, string, &(g->tags)); + mx_mysql_statement_param_bind(stmt, 17, uint64, &(g->group_id)); + mx_mysql_statement_param_bind(stmt, 18, uint64, &(flags)); res = mx_mysql_statement_execute(stmt, &num_rows); if (res < 0) { @@ -372,25 +370,24 @@ static int load_group_id_run_or_wait(struct mx_mysql *mysql, struct mxq_group *g return -errno; } - res = mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); - res += mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); - res += mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); - res += mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); - res += mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); - res += mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); - res += mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); - res += mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); - res += mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); - res += mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); - res += mx_mysql_statement_param_bind(stmt, 10, uint16, &(g->job_gpu)); - res += mx_mysql_statement_param_bind(stmt, 11, uint16, &(g->job_max_per_node)); - res += mx_mysql_statement_param_bind(stmt, 12, uint16, &(g->group_priority)); - res += mx_mysql_statement_param_bind(stmt, 13, string, &(g->group_blacklist)); - res += mx_mysql_statement_param_bind(stmt, 14, string, &(g->group_whitelist)); - res += mx_mysql_statement_param_bind(stmt, 15, string, &(g->prerequisites)); - res += mx_mysql_statement_param_bind(stmt, 16, string, &(g->tags)); - res += mx_mysql_statement_param_bind(stmt, 17, uint64, &(flags)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); + mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); + mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); + mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); + mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); + mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); + mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); + mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); + mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); + mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); + mx_mysql_statement_param_bind(stmt, 10, uint16, &(g->job_gpu)); + mx_mysql_statement_param_bind(stmt, 11, uint16, &(g->job_max_per_node)); + mx_mysql_statement_param_bind(stmt, 12, uint16, &(g->group_priority)); + mx_mysql_statement_param_bind(stmt, 13, string, &(g->group_blacklist)); + mx_mysql_statement_param_bind(stmt, 14, string, &(g->group_whitelist)); + mx_mysql_statement_param_bind(stmt, 15, string, &(g->prerequisites)); + mx_mysql_statement_param_bind(stmt, 16, string, &(g->tags)); + mx_mysql_statement_param_bind(stmt, 17, uint64, &(flags)); res = mx_mysql_statement_execute(stmt, &num_rows); if (res < 0) { @@ -457,24 +454,23 @@ static int add_group(struct mx_mysql *mysql, struct mxq_group *g) return -errno; } - res = mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); - res += mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); - res += mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); - res += mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); - res += mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); - res += mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); - res += mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); - res += mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); - res += mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); - res += mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); - res += mx_mysql_statement_param_bind(stmt,10, uint16, &(g->job_gpu)); - res += mx_mysql_statement_param_bind(stmt,11, uint16, &(g->job_max_per_node)); - res += mx_mysql_statement_param_bind(stmt,12, uint16, &(g->group_priority)); - res += mx_mysql_statement_param_bind(stmt,13, string, &(g->group_blacklist)); - res += mx_mysql_statement_param_bind(stmt,14, string, &(g->group_whitelist)); - res += mx_mysql_statement_param_bind(stmt,15, string, &(g->prerequisites)); - res += mx_mysql_statement_param_bind(stmt,16, string, &(g->tags)); - assert(res == 0); + mx_mysql_statement_param_bind(stmt, 0, string, &(g->group_name)); + mx_mysql_statement_param_bind(stmt, 1, uint32, &(g->user_uid)); + mx_mysql_statement_param_bind(stmt, 2, string, &(g->user_name)); + mx_mysql_statement_param_bind(stmt, 3, uint32, &(g->user_gid)); + mx_mysql_statement_param_bind(stmt, 4, string, &(g->user_group)); + mx_mysql_statement_param_bind(stmt, 5, string, &(g->job_command)); + mx_mysql_statement_param_bind(stmt, 6, uint16, &(g->job_threads)); + mx_mysql_statement_param_bind(stmt, 7, uint64, &(g->job_memory)); + mx_mysql_statement_param_bind(stmt, 8, uint32, &(g->job_time)); + mx_mysql_statement_param_bind(stmt, 9, uint32, &(g->job_tmpdir_size)); + mx_mysql_statement_param_bind(stmt,10, uint16, &(g->job_gpu)); + mx_mysql_statement_param_bind(stmt,11, uint16, &(g->job_max_per_node)); + mx_mysql_statement_param_bind(stmt,12, uint16, &(g->group_priority)); + mx_mysql_statement_param_bind(stmt,13, string, &(g->group_blacklist)); + mx_mysql_statement_param_bind(stmt,14, string, &(g->group_whitelist)); + mx_mysql_statement_param_bind(stmt,15, string, &(g->prerequisites)); + mx_mysql_statement_param_bind(stmt,16, string, &(g->tags)); res = mx_mysql_statement_execute(stmt, &num_rows); if (res < 0) { @@ -535,17 +531,16 @@ static int add_job(struct mx_mysql *mysql, struct mxq_job *j) return -errno; } - res = mx_mysql_statement_param_bind(stmt, 0, uint16, &(j->job_priority)); - res += mx_mysql_statement_param_bind(stmt, 1, uint64, &(j->group_id)); - res += mx_mysql_statement_param_bind(stmt, 2, string, &(j->job_workdir)); - res += mx_mysql_statement_param_bind(stmt, 3, uint32, &(j->job_argc)); - res += mx_mysql_statement_param_bind(stmt, 4, string, &(j->job_argv_str)); - res += mx_mysql_statement_param_bind(stmt, 5, string, &(j->job_stdout)); - res += mx_mysql_statement_param_bind(stmt, 6, string, &(j->job_stderr)); - res += mx_mysql_statement_param_bind(stmt, 7, uint32, &(j->job_umask)); - res += mx_mysql_statement_param_bind(stmt, 8, string, &(j->host_submit)); - res += mx_mysql_statement_param_bind(stmt, 9, uint64, &(j->job_flags)); - assert(res ==0); + mx_mysql_statement_param_bind(stmt, 0, uint16, &(j->job_priority)); + mx_mysql_statement_param_bind(stmt, 1, uint64, &(j->group_id)); + mx_mysql_statement_param_bind(stmt, 2, string, &(j->job_workdir)); + mx_mysql_statement_param_bind(stmt, 3, uint32, &(j->job_argc)); + mx_mysql_statement_param_bind(stmt, 4, string, &(j->job_argv_str)); + mx_mysql_statement_param_bind(stmt, 5, string, &(j->job_stdout)); + mx_mysql_statement_param_bind(stmt, 6, string, &(j->job_stderr)); + mx_mysql_statement_param_bind(stmt, 7, uint32, &(j->job_umask)); + mx_mysql_statement_param_bind(stmt, 8, string, &(j->host_submit)); + mx_mysql_statement_param_bind(stmt, 9, uint64, &(j->job_flags)); res = mx_mysql_statement_execute(stmt, &num_rows); if (res < 0) {