db: fixed wrong commands

This commit is contained in:
Oleg Agafonov 2024-08-05 00:03:58 +04:00
parent 8f7abe2dc5
commit c31763a2d8
4 changed files with 12 additions and 5 deletions

View file

@ -117,7 +117,7 @@ public class AuthorizedUserRepository {
try { try {
if (usersDao != null && usersDao.getConnectionSource() != null) { if (usersDao != null && usersDao.getConnectionSource() != null) {
DatabaseConnection conn = usersDao.getConnectionSource().getReadWriteConnection(usersDao.getTableName()); DatabaseConnection conn = usersDao.getConnectionSource().getReadWriteConnection(usersDao.getTableName());
conn.executeStatement("SHUTDOWN IMMEDIATELY", 0); conn.executeStatement("SHUTDOWN IMMEDIATELY", DatabaseConnection.DEFAULT_RESULT_FLAGS);
usersDao.getConnectionSource().releaseConnection(conn); usersDao.getConnectionSource().releaseConnection(conn);
} }
} catch (SQLException ex) { } catch (SQLException ex) {

View file

@ -71,7 +71,7 @@ public enum TableRecordRepository {
try { try {
if (recordsDao != null && recordsDao.getConnectionSource() != null) { if (recordsDao != null && recordsDao.getConnectionSource() != null) {
DatabaseConnection conn = recordsDao.getConnectionSource().getReadWriteConnection(recordsDao.getTableName()); DatabaseConnection conn = recordsDao.getConnectionSource().getReadWriteConnection(recordsDao.getTableName());
conn.executeStatement("SHUTDOWN IMMEDIATELY", 0); conn.executeStatement("SHUTDOWN IMMEDIATELY", DatabaseConnection.DEFAULT_RESULT_FLAGS);
recordsDao.getConnectionSource().releaseConnection(conn); recordsDao.getConnectionSource().releaseConnection(conn);
} }
} catch (SQLException ex) { } catch (SQLException ex) {

View file

@ -368,7 +368,7 @@ public enum UserStatsRepository {
try { try {
if (statsDao != null && statsDao.getConnectionSource() != null) { if (statsDao != null && statsDao.getConnectionSource() != null) {
DatabaseConnection conn = statsDao.getConnectionSource().getReadWriteConnection(statsDao.getTableName()); DatabaseConnection conn = statsDao.getConnectionSource().getReadWriteConnection(statsDao.getTableName());
conn.executeStatement("SHUTDOWN IMMEDIATELY", 0); conn.executeStatement("SHUTDOWN IMMEDIATELY", DatabaseConnection.DEFAULT_RESULT_FLAGS);
statsDao.getConnectionSource().releaseConnection(conn); statsDao.getConnectionSource().releaseConnection(conn);
} }
} catch (SQLException ex) { } catch (SQLException ex) {

View file

@ -646,10 +646,17 @@ public enum CardRepository {
try { try {
if (cardsDao != null && cardsDao.getConnectionSource() != null) { if (cardsDao != null && cardsDao.getConnectionSource() != null) {
DatabaseConnection conn = cardsDao.getConnectionSource().getReadWriteConnection(cardsDao.getTableName()); DatabaseConnection conn = cardsDao.getConnectionSource().getReadWriteConnection(cardsDao.getTableName());
// TODO: works but generate silent errors in cards.h2.trace.db on app close (maybe new ormlite library version fixed it)
/*
at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1175)
at org.h2.jdbc.JdbcStatement.getUpdateCount(JdbcStatement.java:290)
at com.j256.ormlite.jdbc.JdbcDatabaseConnection.executeStatement(JdbcDatabaseConnection.java:141)
at mage.cards.repository.CardRepository.closeDB(CardRepository.java:651)
*/
if (writeCompact) { if (writeCompact) {
conn.executeStatement("SHUTDOWN COMPACT", 0); // compact data and rewrite whole db conn.executeStatement("SHUTDOWN COMPACT", DatabaseConnection.DEFAULT_RESULT_FLAGS); // compact data and rewrite whole db
} else { } else {
conn.executeStatement("SHUTDOWN IMMEDIATELY", 0); // close without any writes conn.executeStatement("SHUTDOWN IMMEDIATELY", DatabaseConnection.DEFAULT_RESULT_FLAGS); // close without any writes
} }
cardsDao.getConnectionSource().releaseConnection(conn); cardsDao.getConnectionSource().releaseConnection(conn);
} }