orientechnologies / orientechnologies/orientdb
bug of gremlin step "has()"
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 5k
- Forks
- 868
- Avg merge
- 15h 6m
- Merged PRs (30d)
- 18
Description
OrientDB Version: orientdb-tp3-3.2.4 tinkerpop 3.4.10
Java Version: 1.8
OS: windows wsl
Error occurred when querying "has()" on properties if the data has INFINITY field.
Expected behavior
return vertices
Actual behavior
java.util.concurrent.ExecutionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Character I is neither a decimal digit number, decimal point, nor "e" notation exponential mark.
Steps to reproduce
Vertex alice = g.addV("person").property("hair", Double.POSITIVE_INFINITY ).next();
Vertex bob = g.addV("person").property("hair", 500 ).next();
String query =“g.V().has('hair',500.00)”;
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Java/Gremlin query with the provided OrientDB version and the infinity-valued hair property. Investigate the has() query path and numeric parsing; done means g.V().has('hair',500.00) succeeds and returns the expected vertex instead of raising ResponseException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100