orientechnologies / orientechnologies/orientdb

bug of gremlin step "has()"

Open
#9,754 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.