diff options
Diffstat (limited to 'plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/task/CleanJoinTablesServerTask.java')
-rw-r--r-- | plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/task/CleanJoinTablesServerTask.java | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/task/CleanJoinTablesServerTask.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/task/CleanJoinTablesServerTask.java index b2a1f3364b6..b53f232795f 100644 --- a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/task/CleanJoinTablesServerTask.java +++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/task/CleanJoinTablesServerTask.java @@ -30,81 +30,81 @@ import org.eclipse.osee.framework.logging.OseeLog; */ public class CleanJoinTablesServerTask implements IServerTask { - private final static String DELETE_JOIN_TIME = "DELETE FROM %s WHERE insert_time < ?"; - private final static String DELETE_JOIN_CLEANUP = "DELETE FROM osee_join_cleanup WHERE query_id = ?"; - private final static String DELETE_JOIN_TABLE_SESSION = "DELETE FROM %s WHERE query_id = ?"; - private final static String SELECT_SESSION_FROM_JOIN = "SELECT * from osee_join_cleanup order by session_id"; - private final static long SIXTY_MINUTES = 60; - private final static long THREE_HOURS = 1000 * 60 * 60 * 3; + private final static String DELETE_JOIN_TIME = "DELETE FROM %s WHERE insert_time < ?"; + private final static String DELETE_JOIN_CLEANUP = "DELETE FROM osee_join_cleanup WHERE query_id = ?"; + private final static String DELETE_JOIN_TABLE_SESSION = "DELETE FROM %s WHERE query_id = ?"; + private final static String SELECT_SESSION_FROM_JOIN = "SELECT * from osee_join_cleanup order by session_id"; + private final static long SIXTY_MINUTES = 60; + private final static long THREE_HOURS = 1000 * 60 * 60 * 3; - private static final String NAME = "Clean up join tables"; + private static final String NAME = "Clean up join tables"; - private static final String[] TABLES = new String[] {"osee_join_artifact", "osee_join_transaction", - "osee_join_export_import", "osee_join_search_tags", "osee_tag_gamma_queue", "osee_join_id"}; + private static final String[] TABLES = new String[] {"osee_join_artifact", "osee_join_transaction", + "osee_join_export_import", "osee_join_search_tags", "osee_tag_gamma_queue", "osee_join_id"}; - @Override - public String getName() { - return NAME; - } + @Override + public String getName() { + return NAME; + } - @Override - public void run() { - try { - Timestamp time = new Timestamp(System.currentTimeMillis() - THREE_HOURS); - for (String table : TABLES) { - ConnectionHandler.runPreparedUpdate(String.format(DELETE_JOIN_TIME, table), time); - } - deleteFromJoinCleanup(); - } catch (OseeCoreException ex) { - OseeLog.log(ServerActivator.class, Level.WARNING, ex); - } - } + @Override + public void run() { + try { + Timestamp time = new Timestamp(System.currentTimeMillis() - THREE_HOURS); + for (String table : TABLES) { + ConnectionHandler.runPreparedUpdate(String.format(DELETE_JOIN_TIME, table), time); + } + deleteFromJoinCleanup(); + } catch (OseeCoreException ex) { + OseeLog.log(ServerActivator.class, Level.WARNING, ex); + } + } - private void deleteFromJoinCleanup() throws OseeCoreException { - List<Integer[]> queryIds = new ArrayList<Integer[]>(); - IOseeStatement chStmt = null; - boolean isAlive = false; - ISessionManager manager = ServerActivator.getSessionManager(); - try { - chStmt = ConnectionHandler.getStatement(); - chStmt.runPreparedQuery(SELECT_SESSION_FROM_JOIN); - String prevSessionId = ""; - while (chStmt.next()) { - String sessionId = chStmt.getString("session_id"); - String tableName = chStmt.getString("table_name"); - Integer queryId = chStmt.getInt("query_id"); - if (!sessionId.equals(prevSessionId)) { - isAlive = SessionUtil.isAlive(manager.getSessionById(sessionId)); - } - if (!isAlive) { - queryIds.add(new Integer[] {queryId}); - ConnectionHandler.runPreparedUpdate(String.format(DELETE_JOIN_TABLE_SESSION, tableName), queryId); - } - prevSessionId = sessionId; - } - ConnectionHandler.runBatchUpdate(DELETE_JOIN_CLEANUP, queryIds); - } finally { - chStmt.close(); - } - } + private void deleteFromJoinCleanup() throws OseeCoreException { + List<Integer[]> queryIds = new ArrayList<Integer[]>(); + IOseeStatement chStmt = null; + boolean isAlive = false; + ISessionManager manager = ServerActivator.getSessionManager(); + try { + chStmt = ConnectionHandler.getStatement(); + chStmt.runPreparedQuery(SELECT_SESSION_FROM_JOIN); + String prevSessionId = ""; + while (chStmt.next()) { + String sessionId = chStmt.getString("session_id"); + String tableName = chStmt.getString("table_name"); + Integer queryId = chStmt.getInt("query_id"); + if (!sessionId.equals(prevSessionId)) { + isAlive = SessionUtil.isAlive(manager.getSessionById(sessionId)); + } + if (!isAlive) { + queryIds.add(new Integer[] {queryId}); + ConnectionHandler.runPreparedUpdate(String.format(DELETE_JOIN_TABLE_SESSION, tableName), queryId); + } + prevSessionId = sessionId; + } + ConnectionHandler.runBatchUpdate(DELETE_JOIN_CLEANUP, queryIds); + } finally { + chStmt.close(); + } + } - @Override - public long getInitialDelay() { - return getPeriod(); - } + @Override + public long getInitialDelay() { + return getPeriod(); + } - @Override - public long getPeriod() { - return SIXTY_MINUTES; - } + @Override + public long getPeriod() { + return SIXTY_MINUTES; + } - @Override - public SchedulingScheme getSchedulingScheme() { - return SchedulingScheme.FIXED_RATE; - } + @Override + public SchedulingScheme getSchedulingScheme() { + return SchedulingScheme.FIXED_RATE; + } - @Override - public TimeUnit getTimeUnit() { - return TimeUnit.MINUTES; - } + @Override + public TimeUnit getTimeUnit() { + return TimeUnit.MINUTES; + } } |