mirror of
https://github.com/webbukkit/dynmap.git
synced 2024-12-25 18:17:37 +01:00
Use limit on enum tiles (for cleaner behavior on purge for large maps)
This commit is contained in:
parent
ab54919956
commit
c80f7adb23
@ -672,9 +672,13 @@ public class MicrosoftSQLMapStorage extends MapStorage {
|
||||
}
|
||||
try {
|
||||
c = getConnection();
|
||||
boolean done = false;
|
||||
|
||||
while (!done) {
|
||||
// Query tiles for given mapkey
|
||||
Statement stmt = c.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM " + tableTiles + " WHERE MapID=" + mapkey + ";");
|
||||
ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM " + tableTiles + " WHERE MapID=" + mapkey + " LIMIT 100;");
|
||||
int cnt = 0;
|
||||
while (rs.next()) {
|
||||
StorageTile st = new StorageTile(world, map, rs.getInt("x"), rs.getInt("y"), rs.getInt("zoom"), var);
|
||||
final MapType.ImageEncoding encoding = MapType.ImageEncoding.fromOrd(rs.getInt("Format"));
|
||||
@ -683,11 +687,14 @@ public class MicrosoftSQLMapStorage extends MapStorage {
|
||||
if(cbBase != null && st.zoom == 0)
|
||||
cbBase.tileFound(st, encoding);
|
||||
st.cleanup();
|
||||
cnt++;
|
||||
}
|
||||
rs.close();
|
||||
stmt.close();
|
||||
if (cnt < 100) done = true;
|
||||
}
|
||||
if(cbEnd != null)
|
||||
cbEnd.searchEnded();
|
||||
rs.close();
|
||||
stmt.close();
|
||||
} catch (SQLException x) {
|
||||
logSQLException("Tile enum error", x);
|
||||
err = true;
|
||||
|
@ -792,9 +792,12 @@ public class MySQLMapStorage extends MapStorage {
|
||||
}
|
||||
try {
|
||||
c = getConnection();
|
||||
boolean done = false;
|
||||
while (!done) {
|
||||
// Query tiles for given mapkey
|
||||
Statement stmt = c.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM " + tableTiles + " WHERE MapID=" + mapkey + ";");
|
||||
ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM " + tableTiles + " WHERE MapID=" + mapkey + " LIMIT 100;");
|
||||
int cnt = 0;
|
||||
while (rs.next()) {
|
||||
StorageTile st = new StorageTile(world, map, rs.getInt("x"), rs.getInt("y"), rs.getInt("zoom"), var);
|
||||
final MapType.ImageEncoding encoding = MapType.ImageEncoding.fromOrd(rs.getInt("Format"));
|
||||
@ -803,11 +806,14 @@ public class MySQLMapStorage extends MapStorage {
|
||||
if(cbBase != null && st.zoom == 0)
|
||||
cbBase.tileFound(st, encoding);
|
||||
st.cleanup();
|
||||
cnt++;
|
||||
}
|
||||
rs.close();
|
||||
stmt.close();
|
||||
if (cnt < 100) done = true;
|
||||
}
|
||||
if(cbEnd != null)
|
||||
cbEnd.searchEnded();
|
||||
rs.close();
|
||||
stmt.close();
|
||||
} catch (SQLException x) {
|
||||
logSQLException("Tile enum error", x);
|
||||
err = true;
|
||||
|
@ -698,9 +698,13 @@ public class PostgreSQLMapStorage extends MapStorage {
|
||||
}
|
||||
try {
|
||||
c = getConnection();
|
||||
boolean done = false;
|
||||
|
||||
while (!done) {
|
||||
// Query tiles for given mapkey
|
||||
Statement stmt = c.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM " + tableTiles + " WHERE MapID=" + mapkey + ";");
|
||||
ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM " + tableTiles + " WHERE MapID=" + mapkey + " LIMIT 100;");
|
||||
int cnt = 0;
|
||||
while (rs.next()) {
|
||||
StorageTile st = new StorageTile(world, map, rs.getInt("x"), rs.getInt("y"), rs.getInt("zoom"), var);
|
||||
final MapType.ImageEncoding encoding = MapType.ImageEncoding.fromOrd(rs.getInt("Format"));
|
||||
@ -709,11 +713,14 @@ public class PostgreSQLMapStorage extends MapStorage {
|
||||
if(cbBase != null && st.zoom == 0)
|
||||
cbBase.tileFound(st, encoding);
|
||||
st.cleanup();
|
||||
cnt++;
|
||||
}
|
||||
rs.close();
|
||||
stmt.close();
|
||||
if (cnt < 100) done = true;
|
||||
}
|
||||
if(cbEnd != null)
|
||||
cbEnd.searchEnded();
|
||||
rs.close();
|
||||
stmt.close();
|
||||
} catch (SQLException x) {
|
||||
logSQLException("Tile enum error", x);
|
||||
err = true;
|
||||
|
@ -641,10 +641,12 @@ public class SQLiteMapStorage extends MapStorage {
|
||||
}
|
||||
try {
|
||||
c = getConnection();
|
||||
boolean done = false;
|
||||
while (!done) {
|
||||
// Query tiles for given mapkey
|
||||
Statement stmt = c.createStatement();
|
||||
//ResultSet rs = stmt.executeQuery("SELECT x,y,zoom,Format FROM Tiles WHERE MapID=" + mapkey + ";");
|
||||
ResultSet rs = doExecuteQuery(stmt, "SELECT x,y,zoom,Format FROM Tiles WHERE MapID=" + mapkey + ";");
|
||||
ResultSet rs = doExecuteQuery(stmt, "SELECT x,y,zoom,Format FROM Tiles WHERE MapID=" + mapkey + " LIMIT 100;");
|
||||
int cnt = 0;
|
||||
while (rs.next()) {
|
||||
StorageTile st = new StorageTile(world, map, rs.getInt("x"), rs.getInt("y"), rs.getInt("zoom"), var);
|
||||
final MapType.ImageEncoding encoding = MapType.ImageEncoding.fromOrd(rs.getInt("Format"));
|
||||
@ -653,11 +655,14 @@ public class SQLiteMapStorage extends MapStorage {
|
||||
if(cbBase != null && st.zoom == 0)
|
||||
cbBase.tileFound(st, encoding);
|
||||
st.cleanup();
|
||||
cnt++;
|
||||
}
|
||||
rs.close();
|
||||
stmt.close();
|
||||
if (cnt < 100) done = true;
|
||||
}
|
||||
if(cbEnd != null)
|
||||
cbEnd.searchEnded();
|
||||
rs.close();
|
||||
stmt.close();
|
||||
} catch (SQLException x) {
|
||||
logSQLException("Tile enum error", x);
|
||||
err = true;
|
||||
|
Loading…
Reference in New Issue
Block a user