Bug Type (问题类型)
gremlin (结果不合预期)
Before submit
Environment (环境信息)
- Server Version: 1.7.0
- Backend: RocksDB x nodes
- OS: 192 CPUs, 256 G RAM, Ubuntu 22.04
- Data Size: 50 vertices, 100 edges
Expected & Actual behavior (期望与实际表现)
Expected behavior
For the two query below, the same result should be returned:
g.E().bothV().where(__.out('el0').count().is(gte(-3))).count()
g.E().match(__.as('start0').repeat(__.bothV()).times(1).as('m0')).select('m0').match(__.as('start1').where(__.out('el0').count().is(gte(-3))).as('m1')).select('m1').count()
Actual behavior
- The first query thrown a exception:
java.lang.IllegalArgumentException: Not a legal range: [0, -3]
- The second query returned the results normally.
- We replaced the
bothV() step in the first query with match(__.as('start0').repeat(__.bothV()).times(1).as('m0')).select('m0'), and moved thewhere (...) step into the match()step. Both of these operations should not affect the result.
- When I executed these two queries on Janusgraph and Tinkerpop, they both returned the same results and were consistent with the results of the second query.
Vertex/Edge example (问题点 / 边数据举例)
Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
Bug Type (问题类型)
gremlin (结果不合预期)
Before submit
Environment (环境信息)
Expected & Actual behavior (期望与实际表现)
Expected behavior
For the two query below, the same result should be returned:
Actual behavior
java.lang.IllegalArgumentException: Not a legal range: [0, -3]bothV()step in the first query withmatch(__.as('start0').repeat(__.bothV()).times(1).as('m0')).select('m0'), and moved thewhere (...)step into thematch()step. Both of these operations should not affect the result.Vertex/Edge example (问题点 / 边数据举例)
noneSchema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
none