From: František Dvořák Date: Wed, 7 Apr 2010 19:15:38 +0000 (+0000) Subject: Bugfixes - VO haven't not stored with RB, typo in test script. X-Git-Tag: glite-lb-client-java_R_1_0_2_1~12 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=219cdca886928ebe3d7f33160fb6a8530706b139;p=jra1mw.git Bugfixes - VO haven't not stored with RB, typo in test script. --- diff --git a/org.glite.lb.harvester/examples/test.sh b/org.glite.lb.harvester/examples/test.sh index 0916545..b9130f1 100755 --- a/org.glite.lb.harvester/examples/test.sh +++ b/org.glite.lb.harvester/examples/test.sh @@ -122,7 +122,7 @@ init() { logev="$GLITE_LOCATION/bin/glite-lb-logevent -x -S `pwd`/LB/proxy.sockstore.sock -U localhost" purge="$GLITE_LOCATION/bin/glite-lb-purge" [ -x "$purge" ] || purge="$GLITE_LOCATION/sbin/glite-lb-purge" - for dir in "$GLITE_LOCATION/examlpes" "`pwd`/../build" "`pwd`"; do + for dir in "$GLITE_LOCATION/examples" "`pwd`/../build" "`pwd`"; do if [ -x "$dir/glite-lb-harvester-dbg" ]; then rtm="$dir/glite-lb-harvester-dbg" fi diff --git a/org.glite.lb.harvester/src/harvester.c b/org.glite.lb.harvester/src/harvester.c index 4b8537f..da0ec6b 100644 --- a/org.glite.lb.harvester/src/harvester.c +++ b/org.glite.lb.harvester/src/harvester.c @@ -1011,7 +1011,7 @@ typedef struct { // static void db_store_change_perform_sql(thread_t *t, edg_wll_JobStatCode state, db_job_t *rec) { char *state_entered_str = NULL, *rtm_timestamp_str = NULL, *regtime_str = NULL; - char *sql = NULL, *sql2 = NULL, *sql_part = NULL; + char *sql = NULL, *sql2 = NULL, *sql_part = NULL, *tmp = NULL; const char *active = "true", *state_changed = "true"; if (state == EDG_WLL_JOB_PURGED) { @@ -1040,10 +1040,14 @@ static void db_store_change_perform_sql(thread_t *t, edg_wll_JobStatCode state, glite_lbu_TimestampToDB(t->dbctx, rec->rtm_timestamp, &rtm_timestamp_str); glite_lbu_TimeToDB(t->dbctx, rec->registered, ®time_str); - if (rec->vo) trio_asprintf(&sql_part, ", vo='%|Ss' ", rec->vo); - if (rec->rb) trio_asprintf(&sql_part, ", rb='%|Ss' ", rec->rb); - if (!sql_part) sql_part = strdup(" "); - trio_asprintf(&sql, "UPDATE " RTM_DB_TABLE_JOBS " SET ce='%|Ss', queue='%|Ss', ui='%|Ss', state='%|Ss', state_entered=%s, rtm_timestamp=%s, active=%s, state_changed=%s, registered=%s%sWHERE jobid='%|Ss' AND lb='%|Ss'", rec->ce, rec->queue, rec->ui, rec->state, state_entered_str, rtm_timestamp_str, active, state_changed, regtime_str, sql_part, rec->unique_str, rec->lb); + if (rec->vo) trio_asprintf(&sql_part, ", vo='%|Ss'", rec->vo); + if (rec->rb) { + trio_asprintf(&tmp, "%s, rb='%|Ss'", sql_part ? : "", rec->rb); + free(sql_part); + sql_part = tmp; + tmp = NULL; + } + trio_asprintf(&sql, "UPDATE " RTM_DB_TABLE_JOBS " SET ce='%|Ss', queue='%|Ss', ui='%|Ss', state='%|Ss', state_entered=%s, rtm_timestamp=%s, active=%s, state_changed=%s, registered=%s%s WHERE jobid='%|Ss' AND lb='%|Ss'", rec->ce, rec->queue, rec->ui, rec->state, state_entered_str, rtm_timestamp_str, active, state_changed, regtime_str, sql_part ? : "", rec->unique_str, rec->lb); lprintf(t, INS, "update: %s", sql); switch (glite_lbu_ExecSQL(t->dbctx, sql, NULL)) { case -1: