Use database for querying VC statistics.

Change-Id: I653763d56bf5314a0f06b34b9f333ebe3251e88a
diff --git a/Changes b/Changes
index b10606e..253a13d 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
 # version 1.0.1
 
 - Add an exception for missing layer.
+- Use database for querying VC statistics.
+
 
 # version 1.0
 
diff --git a/pom.xml b/pom.xml
index 82c18c7..073daac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>de.ids-mannheim.korap.kustvakt</groupId>
 	<artifactId>Kustvakt</artifactId>
-	<version>1.0</version>
+	<version>1.0.1</version>
 	<properties>
 		<java.version>21</java.version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/src/main/java/de/ids_mannheim/korap/service/QueryService.java b/src/main/java/de/ids_mannheim/korap/service/QueryService.java
index 9def218..143beb1 100644
--- a/src/main/java/de/ids_mannheim/korap/service/QueryService.java
+++ b/src/main/java/de/ids_mannheim/korap/service/QueryService.java
@@ -157,7 +157,11 @@
 	public String computeStatisticsForVC (QueryDO query, QueryType queryType, 
 			double apiVersion)
 			throws KustvaktException {
-		if (config.isVcListStatisticsEnabled() && 
+		String statistics = query.getStatistics();
+		if (statistics != null && !statistics.isEmpty()) {
+			return statistics;
+		}
+		else if (config.isVcListStatisticsEnabled() && 
 				queryType.equals(QueryType.VIRTUAL_CORPUS)) {		
     		String json = "";
     		if (query.isCached()) {
diff --git a/src/main/resources/db/sqlite/V4.5__query_statistics_index.sql b/src/main/resources/db/sqlite/V4.5__query_statistics_index.sql
new file mode 100644
index 0000000..8194d87
--- /dev/null
+++ b/src/main/resources/db/sqlite/V4.5__query_statistics_index.sql
@@ -0,0 +1 @@
+CREATE INDEX IF NOT EXISTS query_statistics_index ON query(statistics);
\ No newline at end of file