diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java index d7a6cbedd1..66cc66d181 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/backend/query/ConditionQuery.java @@ -242,6 +242,11 @@ public T condition(Object key) { T value = (T) valuesEQ.get(0); return value; } + if (valuesEQ.size() == 0 && valuesIN.size() == 1) { + @SuppressWarnings("unchecked") + T value = (T) valuesIN.get(0); + return value; + } Set intersectValues = InsertionOrderUtil.newSet(); for (Object value : valuesEQ) { @@ -263,6 +268,12 @@ public T condition(Object key) { valueAsList); } } + + if (valuesIN.size() > 0) { + @SuppressWarnings("unchecked") + T value = (T) intersectValues; + return value; + } E.checkState(intersectValues.size() == 1, "Illegal key '%s' with more than one value: %s", key, intersectValues);