Search code examples
sqlorientdborientdb2.2

OrientDB query (string) length


I am using OrientDB 2.2.17.

I have 2 question regarding the query string sent to:

String query = "SELECT FROM XXX WHERE num IN[1,2,3,4]";
graph.command(new OCommandSQL(query));
  1. What is the max length allowed in the string: 'query'?
  2. If inside the 'query' string I use the operator "IN" - is there a limit for the number of the items inside the 'IN' list?

thanks


Solution

  • There is no technical limit, apart from:

    • heap memory: a huge statement has to be parsed and the AST has to be stored in the heap
    • Java limitations: a string cannot be longer than Integer.MAX_VALUE (see How many characters can a Java String have?), same applies to the number of items in an array

    This said, the query has to be parsed, so a lot query string will result in a slower parsing