import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
import java.util.Properties;
import org.apache.log4j.Logger;
public class Database extends org.splat.dal.dao.kernel.AbstractDatabase {
- public final static Logger LOG = org.splat.dal.dao.som.Database.LOG;
+ public final static Logger LOG = Logger.getLogger(org.splat.dal.dao.som.Database.class);
private transient int _uplevel = 0; // Level of database upgrade
private RepositoryService _repositoryService;
DatabaseMetaData dbmdata = connex.getMetaData();
String dbname = connex.getCatalog();
ResultSet table = null;
+ Statement st = connex.createStatement();
+ _uplevel = -1; // Database not initialized
try {
table = dbmdata.getTables(dbname, null, "study", null);
if (table.next()) {
- return;
+ table = dbmdata.getTables(dbname, null, "doctype", null);
+ if (table.next()) {
+ if (st.execute("SELECT name FROM doctype") &&
+ st.getResultSet().next() ) {
+ _uplevel = 0;
+ }
+ }
}
} catch (SQLException e) {
LOG.debug("Can't check the database version: ", e);
if (table != null) {
table.close();
}
+ if (st != null) {
+ st.close();
+ }
}
- _uplevel = -1; // Database not initialized
}
}
// ==============================================================================================================================
public boolean isInitialized() {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("The database is initialized: " + (_uplevel >= 0));
+ }
return (_uplevel >= 0);
}