From 42366bc769f4d5499792d4a4ce93b3aaeb09c7b9 Mon Sep 17 00:00:00 2001 From: sandtechnology Date: Tue, 3 Oct 2023 18:51:05 +0800 Subject: [PATCH] Using varchar(128) for world name in database --- .../quickshop/database/SimpleDatabaseHelper.java | 9 ++++++--- .../quickshop/util/updater/impl/MavenUpdater.java | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/maxgamer/quickshop/database/SimpleDatabaseHelper.java b/src/main/java/org/maxgamer/quickshop/database/SimpleDatabaseHelper.java index fe97a06b4e..df98d4a618 100644 --- a/src/main/java/org/maxgamer/quickshop/database/SimpleDatabaseHelper.java +++ b/src/main/java/org/maxgamer/quickshop/database/SimpleDatabaseHelper.java @@ -81,9 +81,9 @@ private void init() throws SQLException { */ private void createShopsTable() { - String sqlString = "CREATE TABLE " + manager.getDatabase().getTablePrefix() + "shops (owner VARCHAR(255) NOT NULL, price double(32, 2) NOT NULL, itemConfig TEXT CHARSET utf8 NOT NULL, x INTEGER(32) NOT NULL, y INTEGER(32) NOT NULL, z INTEGER(32) NOT NULL, world VARCHAR(32) NOT NULL, unlimited boolean, type boolean, PRIMARY KEY (x, y, z, world) );"; + String sqlString = "CREATE TABLE " + manager.getDatabase().getTablePrefix() + "shops (owner VARCHAR(255) NOT NULL, price double(32, 2) NOT NULL, itemConfig TEXT CHARSET utf8 NOT NULL, x INTEGER(32) NOT NULL, y INTEGER(32) NOT NULL, z INTEGER(32) NOT NULL, world VARCHAR(128) NOT NULL, unlimited boolean, type boolean, PRIMARY KEY (x, y, z, world) );"; if (manager.getDatabase() instanceof MySQLCore) { - sqlString = "CREATE TABLE " + manager.getDatabase().getTablePrefix() + "shops (owner VARCHAR(255) NOT NULL, price double(32, 2) NOT NULL, itemConfig TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, x INTEGER(32) NOT NULL, y INTEGER(32) NOT NULL, z INTEGER(32) NOT NULL, world VARCHAR(32) NOT NULL, unlimited boolean, type boolean, PRIMARY KEY (x, y, z, world) );"; + sqlString = "CREATE TABLE " + manager.getDatabase().getTablePrefix() + "shops (owner VARCHAR(255) NOT NULL, price double(32, 2) NOT NULL, itemConfig TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci, x INTEGER(32) NOT NULL, y INTEGER(32) NOT NULL, z INTEGER(32) NOT NULL, world VARCHAR(128) NOT NULL, unlimited boolean, type boolean, PRIMARY KEY (x, y, z, world) );"; } manager.runInstantTask(new DatabaseTask(sqlString)); } @@ -111,7 +111,7 @@ private void createLogsTable() { private void createExternalCacheTable() { String createTable = "CREATE TABLE " + manager.getDatabase().getTablePrefix() - + "external_cache (x INTEGER(32) NOT NULL, y INTEGER(32) NOT NULL, z INTEGER(32) NOT NULL, world VARCHAR(32) NOT NULL, PRIMARY KEY (x, y, z, world));"; + + "external_cache (x INTEGER(32) NOT NULL, y INTEGER(32) NOT NULL, z INTEGER(32) NOT NULL, world VARCHAR(128) NOT NULL, PRIMARY KEY (x, y, z, world));"; manager.runInstantTask(new DatabaseTask(createTable)); createColumn("external_cache", "space", new DataType(DataTypeMapping.INT, null)); createColumn("external_cache", "stock", new DataType(DataTypeMapping.INT, null)); @@ -151,6 +151,9 @@ public void onFailed(SQLException e) { manager.runInstantTask(new DatabaseTask("ALTER TABLE " + manager.getDatabase().getTablePrefix() + "shops TO CHARACTER SET uft8mb4 COLLATE utf8mb4_general_ci", checkTask)); manager.runInstantTask(new DatabaseTask("ALTER TABLE " + manager.getDatabase().getTablePrefix() + "messages TO CHARACTER SET uft8mb4 COLLATE utf8mb4_general_ci", checkTask)); manager.runInstantTask(new DatabaseTask("ALTER TABLE " + manager.getDatabase().getTablePrefix() + "history TO CHARACTER SET uft8mb4 COLLATE utf8mb4_general_ci", checkTask)); + //Using varchar 128 for world name + manager.runInstantTask(new DatabaseTask("ALTER TABLE " + manager.getDatabase().getTablePrefix() + "shops MODIFY COLUMN world VARCHAR(128)", checkTask)); + manager.runInstantTask(new DatabaseTask("ALTER TABLE " + manager.getDatabase().getTablePrefix() + "external_cache MODIFY COLUMN world VARCHAR(128)", checkTask)); } plugin.getLogger().info("Finished!"); } diff --git a/src/main/java/org/maxgamer/quickshop/util/updater/impl/MavenUpdater.java b/src/main/java/org/maxgamer/quickshop/util/updater/impl/MavenUpdater.java index ce0de4ab5f..92ab45da7b 100644 --- a/src/main/java/org/maxgamer/quickshop/util/updater/impl/MavenUpdater.java +++ b/src/main/java/org/maxgamer/quickshop/util/updater/impl/MavenUpdater.java @@ -252,7 +252,7 @@ static class IndexMetaHandler extends DefaultHandler { @Override public void endElement(String uri, String localName, String qName) { switch (qName) { - case "latest": + case "release": latestRelease = tempStr; break; case "lastUpdated":