From 20a0980ad8bd308ce307efc71f2378e37f3a0e8d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Wed, 12 Sep 2007 14:01:30 +0000 Subject: [PATCH] New indexed column - lastUpdateTime. --- org.glite.lb.client-interface/interface/consumer.h | 1 + org.glite.lb.server/config/glite-lb-index.conf.template | 3 ++- org.glite.lb.server/src/bkindex.c | 1 + org.glite.lb.server/src/jobstat_supp.c | 4 ++++ org.glite.lb/project/status.T | 1 + 5 files changed, 9 insertions(+), 1 deletion(-) diff --git a/org.glite.lb.client-interface/interface/consumer.h b/org.glite.lb.client-interface/interface/consumer.h index 2e5d47d..880b750 100644 --- a/org.glite.lb.client-interface/interface/consumer.h +++ b/org.glite.lb.client-interface/interface/consumer.h @@ -60,6 +60,7 @@ typedef enum _edg_wll_QueryAttr{ EDG_WLL_QUERY_ATTR_PARENT, /**< Job was resubmitted */ EDG_WLL_QUERY_ATTR_EXITCODE, /**< Unix exit code */ EDG_WLL_QUERY_ATTR_JDL_ATTR, /**< Arbitrary JDL attribute */ + EDG_WLL_QUERY_ATTR_LASTUPDATETIME, /**< Time of the last known event of the job */ EDG_WLL_QUERY_ATTR__LAST /* if adding new attribute, add conversion string to common/xml_conversions.c too !! */ } edg_wll_QueryAttr; diff --git a/org.glite.lb.server/config/glite-lb-index.conf.template b/org.glite.lb.server/config/glite-lb-index.conf.template index 594681b..915df1f 100644 --- a/org.glite.lb.server/config/glite-lb-index.conf.template +++ b/org.glite.lb.server/config/glite-lb-index.conf.template @@ -2,6 +2,7 @@ JobIndices = { [ type = "system"; name = "owner" ], [ type = "system"; name = "location" ], - [ type = "system"; name = "destination" ] + [ type = "system"; name = "destination" ], + [ type = "system"; name = "lastUpdateTime" ] } ] diff --git a/org.glite.lb.server/src/bkindex.c b/org.glite.lb.server/src/bkindex.c index 153d6b0..ab1757b 100644 --- a/org.glite.lb.server/src/bkindex.c +++ b/org.glite.lb.server/src/bkindex.c @@ -284,6 +284,7 @@ static char *db_col_type(const edg_wll_QueryRec *r) return "varchar(255) binary null"; case EDG_WLL_QUERY_ATTR_TIME: + case EDG_WLL_QUERY_ATTR_LASTUPDATETIME: return "datetime null"; default: return NULL; diff --git a/org.glite.lb.server/src/jobstat_supp.c b/org.glite.lb.server/src/jobstat_supp.c index 28c35ba..db04b4c 100644 --- a/org.glite.lb.server/src/jobstat_supp.c +++ b/org.glite.lb.server/src/jobstat_supp.c @@ -738,6 +738,10 @@ edg_wll_ErrorCode edg_wll_IColumnsSQLPart(edg_wll_Context ctx, case EDG_WLL_QUERY_ATTR_RESUBMITTED: asprintf(&data, "%d", stat->pub.resubmitted); break; + case EDG_WLL_QUERY_ATTR_LASTUPDATETIME: + data = strdup(edg_wll_TimeToDB(stat->pub.lastUpdateTime.tv_sec)); + printf("lastupdatedb: %s\n", data); + break; /* XXX add more attributes when defined */ default: diff --git a/org.glite.lb/project/status.T b/org.glite.lb/project/status.T index f58d047..40428f2 100644 --- a/org.glite.lb/project/status.T +++ b/org.glite.lb/project/status.T @@ -61,6 +61,7 @@ taglist user_tags List of pairs (user_tag, user_value) timeval stateEnterTime When entered this status timeval lastUpdateTime Last known event of the job +_index_ intlist stateEnterTimes When all previous states were entered _special_ XMLstructured -- 1.8.2.3