diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java index e60616d6..763e4b9d 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBDatabaseUpdates.java @@ -771,6 +771,15 @@ public class HSQLDBDatabaseUpdates { stmt.execute("CHECKPOINT"); break; + case 31: + // Fix latest AT state cache which was previous created as TEMPORARY + stmt.execute("DROP TABLE IF EXISTS LatestATStates"); + stmt.execute("CREATE TABLE IF NOT EXISTS LatestATStates (" + + "AT_address QortalAddress NOT NULL, " + + "height INT NOT NULL" + + ")"); + break; + default: // nothing to do return false; diff --git a/src/test/java/org/qortal/test/at/AtRepositoryTests.java b/src/test/java/org/qortal/test/at/AtRepositoryTests.java index 9d19f0eb..9aed7296 100644 --- a/src/test/java/org/qortal/test/at/AtRepositoryTests.java +++ b/src/test/java/org/qortal/test/at/AtRepositoryTests.java @@ -130,6 +130,9 @@ public class AtRepositoryTests extends Common { // Trim AT state data repository.getATRepository().prepareForAtStateTrimming(); + // COMMIT to check latest AT states persist / TEMPORARY table interaction + repository.saveChanges(); + repository.getATRepository().trimAtStates(2, maxHeight, 1000); ATStateData atStateData = repository.getATRepository().getLatestATState(atAddress);