Initial Repository Push
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
||||
// Magicbane Emulator Project © 2013 - 2022
|
||||
// www.magicbane.com
|
||||
|
||||
package engine.workthreads;
|
||||
|
||||
import engine.db.archive.DataWarehouse;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.concurrent.atomic.LongAdder;
|
||||
|
||||
/*
|
||||
* This thread runs at bootstrap to ensure cleanup of
|
||||
* orphaned items (deleted items). God does this mess
|
||||
* ever need to be refactored and re-use of item uuid's
|
||||
* implemented.
|
||||
*/
|
||||
public class PurgeOprhans implements Runnable {
|
||||
|
||||
public static LongAdder recordsDeleted = new LongAdder();
|
||||
|
||||
public PurgeOprhans() {
|
||||
|
||||
recordsDeleted.reset();
|
||||
|
||||
}
|
||||
|
||||
public static void startPurgeThread() {
|
||||
|
||||
Thread purgeOrphans;
|
||||
purgeOrphans = new Thread(new PurgeOprhans());
|
||||
|
||||
purgeOrphans.setName("purgeOrphans");
|
||||
purgeOrphans.start();
|
||||
}
|
||||
|
||||
public void run() {
|
||||
|
||||
// Member variable declaration
|
||||
|
||||
try (
|
||||
Connection connection = DataWarehouse.connectionPool.getConnection();
|
||||
PreparedStatement statement = connection.prepareStatement("SELECT * from `object` where `type` = 'item' AND `parent` IS NULL", ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
|
||||
ResultSet rs = statement.executeQuery()) {
|
||||
|
||||
while (rs.next()) {
|
||||
rs.deleteRow();
|
||||
recordsDeleted.increment();
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
Logger.error( e.toString());
|
||||
}
|
||||
|
||||
Logger.info("Thread is exiting with " + recordsDeleted.toString() + " items deleted");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user