public void initializeHeartbeatStageTable(Database database) throws SQLException { if (logger.isDebugEnabled()) logger.debug("Initializing heartbeat staging table"); // Create the table if it does not exist. if (database.findTable(hbStageTable.getSchema(), hbStageTable.getName()) == null) { database.createTable( this.hbStageTable, false, this.hbStageTable.getSchema(), tableType, serviceName); } }
/** Set up the heartbeat table on the master. */ public void initializeHeartbeatTable(Database database) throws SQLException { if (logger.isDebugEnabled()) logger.debug("Initializing heartbeat table"); // Create the table if it does not exist. if (database.findTungstenTable(hbTable.getSchema(), hbTable.getName()) == null) { database.createTable(this.hbTable, false, this.hbTable.getSchema(), tableType, serviceName); } // Add an initial heartbeat value if needed ResultSet res = null; PreparedStatement hbRowCount = null; int rows = 0; try { hbRowCount = database.prepareStatement( "SELECT count(*) from " + this.hbTable.getSchema() + "." + this.hbTable.getName()); res = hbRowCount.executeQuery(); if (res.next()) { rows = res.getInt(1); } } finally { if (res != null) { try { res.close(); } catch (SQLException e) { } } if (hbRowCount != null) { try { hbRowCount.close(); } catch (Exception e) { } } } if (rows == 0) { hbId.setValue(KEY); hbSourceTstamp.setValue(new Timestamp(System.currentTimeMillis())); hbSalt.setValue(saltValue.getAndIncrement()); database.insert(hbTable); } }