Add methods. Add tests.
This commit is contained in:
parent
99377b9f8f
commit
6a2756c79a
7 changed files with 221 additions and 3 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -255,6 +255,24 @@ public class FileSikevaDB implements SikevaDB {
|
|||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long memorySizeOfArchive() throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long memorySizeOfArchive(final String key) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long memorySizeOfArchive(final String key, final String subkey) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void open() {
|
||||
// TODO Auto-generated method stub
|
||||
|
|
|
@ -1391,7 +1391,7 @@ public class SQLSikevaDB implements SikevaDB {
|
|||
try {
|
||||
connection = getConnection();
|
||||
connection.setAutoCommit(true);
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE TOPKEY=?");
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE ARCHIVE_DATE IS NULL AND TOPKEY=? AND SUBKEY IS NULL");
|
||||
statement.setString(1, key);
|
||||
resultSet = statement.executeQuery();
|
||||
|
||||
|
@ -1424,7 +1424,99 @@ public class SQLSikevaDB implements SikevaDB {
|
|||
try {
|
||||
connection = getConnection();
|
||||
connection.setAutoCommit(true);
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE TOPKEY=? AND SUBKEY=?");
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE ARCHIVE_DATE IS NULL AND TOPKEY=? AND SUBKEY=?");
|
||||
statement.setString(1, key);
|
||||
statement.setString(2, subkey);
|
||||
resultSet = statement.executeQuery();
|
||||
|
||||
resultSet.next();
|
||||
result = resultSet.getLong(1);
|
||||
|
||||
} finally {
|
||||
close(connection, statement, resultSet);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public long memorySizeOfArchive() throws SQLException {
|
||||
long result;
|
||||
|
||||
//
|
||||
Connection connection = null;
|
||||
PreparedStatement statement = null;
|
||||
ResultSet resultSet = null;
|
||||
try {
|
||||
connection = getConnection();
|
||||
connection.setAutoCommit(true);
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE ARCHIVE_DATE IS NOT NULL");
|
||||
resultSet = statement.executeQuery();
|
||||
|
||||
resultSet.next();
|
||||
result = resultSet.getLong(1);
|
||||
|
||||
} finally {
|
||||
close(connection, statement, resultSet);
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public long memorySizeOfArchive(final String key) throws SQLException {
|
||||
long result;
|
||||
|
||||
//
|
||||
Connection connection = null;
|
||||
PreparedStatement statement = null;
|
||||
ResultSet resultSet = null;
|
||||
try {
|
||||
connection = getConnection();
|
||||
connection.setAutoCommit(true);
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE ARCHIVE_DATE IS NOT NULL AND TOPKEY=? AND SUBKEY IS NULL");
|
||||
statement.setString(1, key);
|
||||
resultSet = statement.executeQuery();
|
||||
|
||||
resultSet.next();
|
||||
result = resultSet.getLong(1);
|
||||
|
||||
} finally {
|
||||
close(connection, statement, resultSet);
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public long memorySizeOfArchive(final String key, final String subkey) throws Exception {
|
||||
long result;
|
||||
|
||||
//
|
||||
if (subkey == null) {
|
||||
result = memorySize(key);
|
||||
} else {
|
||||
//
|
||||
Connection connection = null;
|
||||
PreparedStatement statement = null;
|
||||
ResultSet resultSet = null;
|
||||
try {
|
||||
connection = getConnection();
|
||||
connection.setAutoCommit(true);
|
||||
statement = connection.prepareStatement("SELECT SUM(SIZE) FROM elements WHERE ARCHIVE_DATE IS NOT NULL AND TOPKEY=? AND SUBKEY=?");
|
||||
statement.setString(1, key);
|
||||
statement.setString(2, subkey);
|
||||
resultSet = statement.executeQuery();
|
||||
|
|
|
@ -102,6 +102,12 @@ public interface SikevaDB {
|
|||
|
||||
public long memorySize(String key, String subkey) throws Exception;
|
||||
|
||||
public long memorySizeOfArchive() throws Exception;
|
||||
|
||||
long memorySizeOfArchive(String key) throws Exception;
|
||||
|
||||
long memorySizeOfArchive(String key, String subkey) throws Exception;
|
||||
|
||||
public void open() throws Exception;
|
||||
|
||||
public void put(Element element) throws Exception;
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.junit.Test;
|
|||
import fr.devinsy.util.StringList;
|
||||
|
||||
/**
|
||||
* ?profileSQL=true
|
||||
*
|
||||
* @author Christian P. Momon
|
||||
*/
|
||||
|
@ -47,6 +46,7 @@ public class SQLSikevaDBTest {
|
|||
BasicConfigurator.configure();
|
||||
Logger.getRootLogger().setLevel(Level.ERROR);
|
||||
|
||||
// Add ?profileSQL=true to generate huge logs.
|
||||
this.database = new SQLSikevaDB("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/sikevadb-test", "sikevadb-test", "12345678");
|
||||
this.database.open();
|
||||
}
|
||||
|
@ -123,6 +123,108 @@ public class SQLSikevaDBTest {
|
|||
logger.debug("===== test done.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*
|
||||
*/
|
||||
@Test
|
||||
public void testGeKeyse01() throws Exception {
|
||||
//
|
||||
logger.debug("===== test starting...");
|
||||
|
||||
database.clearDatabase();
|
||||
|
||||
database.put("alpha01", "1234567890");
|
||||
database.put("alpha01", "qlskjfmlqj");
|
||||
database.put("alpha02", "qlskjfmlqj");
|
||||
database.put("alpha03", "qlskjfmlqj");
|
||||
database.put("alpha04", "qlskjfmlqj");
|
||||
database.put("alpha05", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo1", "1234567890");
|
||||
database.put("alpha01", "bravo1", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo2", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo3", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
||||
|
||||
Assert.assertEquals(0, database.getSubkeys("none").size());
|
||||
|
||||
//
|
||||
logger.debug("===== test done.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*
|
||||
*/
|
||||
@Test
|
||||
public void testGeKeyse02() throws Exception {
|
||||
//
|
||||
logger.debug("===== test starting...");
|
||||
|
||||
database.clearDatabase();
|
||||
|
||||
database.put("alpha01", "1234567890");
|
||||
database.put("alpha01", "qlskjfmlqj");
|
||||
database.put("alpha02", "qlskjfmlqj");
|
||||
database.put("alpha03", "qlskjfmlqj");
|
||||
database.put("alpha04", "qlskjfmlqj");
|
||||
database.put("alpha05", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo1", "1234567890");
|
||||
database.put("alpha01", "bravo1", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo2", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo3", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
||||
|
||||
StringList keys = database.getKeys();
|
||||
|
||||
Assert.assertEquals(5, keys.size());
|
||||
Assert.assertTrue(keys.contains("alpha03"));
|
||||
Assert.assertEquals(1, database.getSubkeys("alpha03").size());
|
||||
|
||||
//
|
||||
logger.debug("===== test done.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*
|
||||
*/
|
||||
@Test
|
||||
public void testMemorySize01() throws Exception {
|
||||
//
|
||||
logger.debug("===== test starting...");
|
||||
|
||||
database.clearDatabase();
|
||||
|
||||
Assert.assertEquals(0, database.memorySize());
|
||||
|
||||
database.put("alpha01", "1234567890");
|
||||
database.put("alpha01", "qlskjfmlqj");
|
||||
database.put("alpha02", "qlskjfmlqj");
|
||||
database.put("alpha03", "qlskjfmlqj");
|
||||
database.put("alpha04", "qlskjfmlqj");
|
||||
database.put("alpha05", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo1", "1234567890");
|
||||
database.put("alpha01", "bravo1", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo2", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo3", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo4", "qlskjfmlqj");
|
||||
database.put("alpha01", "bravo5", "qlskjfmlqj");
|
||||
|
||||
Assert.assertEquals(120, database.memorySize());
|
||||
Assert.assertEquals(10, database.memorySize("alpha01"));
|
||||
Assert.assertEquals(10, database.memorySize("alpha01", "bravo1"));
|
||||
|
||||
database.clearDatabase();
|
||||
|
||||
Assert.assertEquals(0, database.memorySize());
|
||||
|
||||
//
|
||||
logger.debug("===== test done.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue