Skip to content

[Bug] Wrong result for where(count().is(lt(0))) when counted traversal is empty #3084

Description

@choeoe

Bug Type (问题类型)

gremlin (结果不合预期)

Before submit

  • 我已经确认现有的 IssuesFAQ 中没有相同 / 重复问题 (I have confirmed and searched that there are no similar problems in the historical issue and documents)

Environment (环境信息)

  • Server Version: 1.7.0
  • gremlin: 3.5.1
  • Docker Image: hugegraph/hugegraph:latest
  • Backend: default Docker standalone backend
  • Data Size: 1 vertex, 0 edges

Expected & Actual behavior (期望与实际表现)

HugeGraph keeps a traverser for a where() child traversal whose count() is 0 and whose predicate is lt(0).

Minimal graph:
(a:A {i: 1})

No R edges exist.

Bug-triggering query:
g.V('a').where(__.both('R').count().is(lt(0))).values('i')

Expected:
[]

Actual:
[1]

Since the counted traversal returns 0, the predicate lt(0) should be false.

Vertex/Edge example (问题点 / 边数据举例)

**Vertex/Edge example**



curl -fsS --compressed -X DELETE \
  "http://127.0.0.1:8080/graphs/hugegraph/clear?confirm_message=I'm%20sure%20to%20delete%20all%20data"

curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
  -d '{"id":"a","label":"A","properties":{"i":1}}' \
  "http://127.0.0.1:8080/graphs/hugegraph/graph/vertices"

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

**Schema**



curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
  -d '{"name":"i","data_type":"LONG","cardinality":"SINGLE"}' \
  "http://127.0.0.1:8080/graphs/hugegraph/schema/propertykeys"

curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
  -d '{"name":"A","id_strategy":"CUSTOMIZE_STRING","properties":["i"],"nullable_keys":["i"],"enable_label_index":true}' \
  "http://127.0.0.1:8080/graphs/hugegraph/schema/vertexlabels"

curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
  -d '{"name":"B","id_strategy":"CUSTOMIZE_STRING","properties":[],"nullable_keys":[],"enable_label_index":true}' \
  "http://127.0.0.1:8080/graphs/hugegraph/schema/vertexlabels"

curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
  -d '{"name":"R","source_label":"B","target_label":"A","frequency":"SINGLE","properties":[],"nullable_keys":[],"enable_label_index":true}' \
  "http://127.0.0.1:8080/graphs/hugegraph/schema/edgelabels"

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggremlinTinkerPop gremlin

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions