From dfa81e591b8f4ac9cda436ace9cd2221fff55e65 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Milo=C5=A1=20Mula=C4=8D?= Date: Tue, 4 Nov 2008 11:58:05 +0000 Subject: [PATCH] added test on new column 'flags' in notif_registrations table; --- org.glite.lb.server/src/openserver.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/org.glite.lb.server/src/openserver.c b/org.glite.lb.server/src/openserver.c index b816a38..5a76b6a 100644 --- a/org.glite.lb.server/src/openserver.c +++ b/org.glite.lb.server/src/openserver.c @@ -47,7 +47,17 @@ edg_wll_ErrorCode edg_wll_Open(edg_wll_Context ctx, char *cs) } if (ret < 0) goto err; glite_lbu_FreeStmt(&stmt); - if (hit != 5) { + // new columns added to notif_registrations + if (glite_lbu_ExecSQL(ctx->dbctx, "DESC notif_registrations", &stmt) <= 0) goto err; + while (hit < 6 && (ret = glite_lbu_FetchRow(stmt, 1, NULL, cols)) > 0) { + assert(ret <= (int)(sizeof cols/sizeof cols[0])); + if (strcasecmp(cols[0], "flags") == 0) hit++; + for (i = 0; i < ret; i++) free(cols[i]); + } + if (ret < 0) goto err; + glite_lbu_FreeStmt(&stmt); + + if (hit != 6) { ret = edg_wll_SetError(ctx, EDG_WLL_ERROR_DB_INIT, "old DB schema found, migration to new schema needed"); goto close_db; } -- 1.8.2.3