From f2a9a75e8f13759075962ba90ad676c26895b9a7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 31 Dec 2014 15:57:18 +0100 Subject: [PATCH] * Client cards db will be compressed nos as you close XMage client. --- .../src/main/java/mage/client/MageFrame.java | 1 + Mage/src/mage/cards/repository/CardRepository.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index a08c1e16a02..05104a6125e 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -962,6 +962,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { return; } } + CardRepository.instance.closeDB(); Plugins.getInstance().shutdown(); dispose(); System.exit(0); diff --git a/Mage/src/mage/cards/repository/CardRepository.java b/Mage/src/mage/cards/repository/CardRepository.java index 7d6c1e59523..3d745dc0ce9 100644 --- a/Mage/src/mage/cards/repository/CardRepository.java +++ b/Mage/src/mage/cards/repository/CardRepository.java @@ -34,9 +34,11 @@ import com.j256.ormlite.stmt.QueryBuilder; import com.j256.ormlite.stmt.SelectArg; import com.j256.ormlite.stmt.Where; import com.j256.ormlite.support.ConnectionSource; +import com.j256.ormlite.support.DatabaseConnection; import com.j256.ormlite.table.TableUtils; import java.io.File; import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -56,7 +58,7 @@ public enum CardRepository { private static final String JDBC_URL = "jdbc:h2:file:./db/cards.h2;AUTO_SERVER=TRUE"; private static final String VERSION_ENTITY_NAME = "card"; - private static final long CARD_DB_VERSION = 35; + private static final long CARD_DB_VERSION = 36; private final Random random = new Random(); private Dao cardDao; @@ -274,4 +276,14 @@ public enum CardRepository { } return new ArrayList<>(); } + + public void closeDB() { + try { + DatabaseConnection conn = cardDao.getConnectionSource().getReadWriteConnection(); + conn.executeStatement("shutdown compact", 0); + + } catch (SQLException ex) { + + } + } }