Do not tell users about old index version in error messages

If a query operator is not supported because the index version is too
old, the user got an error message like this:

  'mergedbefore' operator is not supported by change index version

The information about the change index version is not relevant for the
user and only adds to user confusion. Just saying that the operator is
not supported should be sufficient. The new error message is now:

  'mergedbefore' operator is not supported on this gerrit host

There is also the possibility that operators are not supported due to
the server configuration. In this case the error message was:

  'conflicts' operator is not supported by server

To make this consistent this error message now also says:

  'conflicts' operator is not supported on this gerrit host

Release-Notes: skip Bug: Google b/264478714
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I99e2b8a3d29a78554387f354cac5597d7beb3e81
diff --git a/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java b/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java
index e31411c..d5c4a97 100644
--- a/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java
+++ b/java/com/google/gerrit/server/query/account/AccountQueryBuilder.java
@@ -159,7 +159,7 @@
       return AccountPredicates.preferredEmail(email);
     }
 
-    throw new QueryParseException("'email' operator is not supported by account index version");
+    throw new QueryParseException("'email' operator is not supported on this gerrit host");
   }
 
   @Operator
diff --git a/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java b/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
index 0a39bbf..da75057 100644
--- a/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
+++ b/java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java
@@ -694,7 +694,8 @@
 
     if ("mergeable".equalsIgnoreCase(value)) {
       if (!args.indexMergeable) {
-        throw new QueryParseException("'is:mergeable' operator is not supported by server");
+        throw new QueryParseException(
+            "'is:mergeable' operator is not supported on this gerrit host");
       }
       return new BooleanPredicate(ChangeField.MERGEABLE_SPEC);
     }
@@ -775,7 +776,7 @@
   @Operator
   public Predicate<ChangeData> conflicts(String value) throws QueryParseException {
     if (!args.conflictsPredicateEnabled) {
-      throw new QueryParseException("'conflicts:' operator is not supported by server");
+      throw new QueryParseException("'conflicts:' operator is not supported on this gerrit host");
     }
     List<Change> changes = parseChange(value);
     List<Predicate<ChangeData>> or = new ArrayList<>(changes.size());
@@ -1142,7 +1143,7 @@
     if (text.startsWith("^")) {
       if (!args.index.getSchema().hasField(ChangeField.COMMIT_MESSAGE_EXACT)) {
         throw new QueryParseException(
-            "'message' operator with regular expression is not supported by change index version");
+            "'message' operator with regular expression is not supported on this gerrit host");
       }
       return new RegexMessagePredicate(text);
     }
@@ -1648,7 +1649,7 @@
       throws QueryParseException {
     if (!args.index.getSchema().hasField(field)) {
       throw new QueryParseException(
-          String.format("'%s' operator is not supported by change index version", operator));
+          String.format("'%s' operator is not supported on this gerrit host", operator));
     }
   }
 
diff --git a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
index 8919e04..84049dd 100644
--- a/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
+++ b/javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
@@ -4035,7 +4035,7 @@
     assertThat(thrown.getCause()).isInstanceOf(QueryParseException.class);
     assertThat(thrown)
         .hasMessageThat()
-        .contains("'is:mergeable' operator is not supported by server");
+        .contains("'is:mergeable' operator is not supported on this gerrit host");
   }
 
   protected ChangeInserter newChange(TestRepository<Repo> repo) throws Exception {