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