core/src/main/java/com/orientechnologies/orient/core/sql/executor/OSelectExecutionPlanner.java
private Set<String> calculateTargetClusters(QueryPlanningInfo info, OCommandContext ctx) {
    if (info.target == null) {
      return Collections.EMPTY_SET;
    }

    Set<String> result = new HashSet<>();
    ODatabase db = ctx.getDatabase();
    OFromItem item = info.target.getItem();
    if (item.getRids() != null && item.getRids().size() > 0) {
      if (item.getRids().size() == 1) {
        OInteger cluster = item.getRids().get(0).getCluster();
        if (cluster.getValue().longValue() > ORID.CLUSTER_MAX) {
          throw new OCommandExecutionException("Invalid cluster Id:" + cluster + ". Max allowed value = " + ORID.CLUSTER_MAX);
        }
        result.add(db.getClusterNameById(cluster.getValue().intValue()));
      } else {
        for (ORid rid : item.getRids()) {
          OInteger cluster = rid.getCluster();
          result.add(db.getClusterNameById(cluster.getValue().intValue()));
        }
      }
      return result;
    } else if (item.getInputParams() != null && item.getInputParams().size() > 0) {
      if (((ODatabaseInternal) ctx.getDatabase()).isSharded()) {
        throw new UnsupportedOperationException("Sharded query with input parameter as a target is not supported yet");
      }
      return null;
    } else if (item.getCluster() != null) {
      String name = item.getCluster().getClusterName();
      if (name == null) {
        name = db.getClusterNameById(item.getCluster().getClusterNumber());
      }
      if (name != null) {
        result.add(name);
        return result;
      } else {
        return null;
      }
    } else if (item.getClusterList() != null) {
      for (OCluster cluster : item.getClusterList().toListOfClusters()) {
        String name = cluster.getClusterName();
        if (name == null) {
          name = db.getClusterNameById(cluster.getClusterNumber());
        }
        if (name != null) {
          result.add(name);
        }
      }
      return result;
    } else if (item.getIndex() != null) {
      String indexName = item.getIndex().getIndexName();
      OIndex<?> idx = db.getMetadata().getIndexManager().getIndex(indexName);
      if (idx == null) {
        throw new OCommandExecutionException("Index " + indexName + " does not exist");
      }
      result.addAll(idx.getClusters());
      if (result.isEmpty()) {
        return null;
      }
      return result;
    } else if (item.getInputParam() != null) {
      if (((ODatabaseInternal) ctx.getDatabase()).isSharded()) {
        throw new UnsupportedOperationException("Sharded query with input parameter as a target is not supported yet");
      }
      return null;
    } else if (item.getIdentifier() != null) {
      String className = item.getIdentifier().getStringValue();
      OClass clazz = getSchemaFromContext(ctx).getClass(className);
      if (clazz == null) {
        clazz = getSchemaFromContext(ctx).getView(className);
      }
      if (clazz == null) {
        return null;
      }
      int[] clusterIds = clazz.getPolymorphicClusterIds();
      for (int clusterId : clusterIds) {
        String clusterName = db.getClusterNameById(clusterId);
        if (clusterName != null) {
          result.add(clusterName);
        }
      }
      return result;
    }

    return null;
  }
private Set<String> calculateTargetClusters(QueryPlanningInfo info, OCommandContext ctx) {
    if (info.target == null) {
      return Collections.EMPTY_SET;
    }

    Set<String> result = new HashSet<>();
    ODatabase db = ctx.getDatabase();
    OFromItem item = info.target.getItem();
    if (item.getRids() != null && item.getRids().size() > 0) {
      if (item.getRids().size() == 1) {
        OInteger cluster = item.getRids().get(0).getCluster();
        if (cluster.getValue().longValue() > ORID.CLUSTER_MAX) {
          throw new OCommandExecutionException("Invalid cluster Id:" + cluster + ". Max allowed value = " + ORID.CLUSTER_MAX);
        }
        result.add(db.getClusterNameById(cluster.getValue().intValue()));
      } else {
        for (ORid rid : item.getRids()) {
          OInteger cluster = rid.getCluster();
          result.add(db.getClusterNameById(cluster.getValue().intValue()));
        }
      }
      return result;
    } else if (item.getInputParams() != null && item.getInputParams().size() > 0) {
      if (((ODatabaseInternal) ctx.getDatabase()).isSharded()) {
        throw new UnsupportedOperationException("Sharded query with input parameter as a target is not supported yet");
      }
      return null;
    } else if (item.getCluster() != null) {
      String name = item.getCluster().getClusterName();
      if (name == null) {
        name = db.getClusterNameById(item.getCluster().getClusterNumber());
      }
      if (name != null) {
        result.add(name);
        return result;
      } else {
        return null;
      }
    } else if (item.getClusterList() != null) {
      for (OCluster cluster : item.getClusterList().toListOfClusters()) {
        String name = cluster.getClusterName();
        if (name == null) {
          name = db.getClusterNameById(cluster.getClusterNumber());
        }
        if (name != null) {
          result.add(name);
        }
      }
      return result;
    } else if (item.getIndex() != null) {
      String indexName = item.getIndex().getIndexName();
      OIndex<?> idx = db.getMetadata().getIndexManager().getIndex(indexName);
      if (idx == null) {
        throw new OCommandExecutionException("Index " + indexName + " does not exist");
      }
      result.addAll(idx.getClusters());
      if (result.isEmpty()) {
        return null;
      }
      return result;
    } else if (item.getInputParam() != null) {
      if (((ODatabaseInternal) ctx.getDatabase()).isSharded()) {
        throw new UnsupportedOperationException("Sharded query with input parameter as a target is not supported yet");
      }
      return null;
    } else if (item.getIdentifier() != null) {
      String className = item.getIdentifier().getStringValue();
      OClass clazz = getSchemaFromContext(ctx).getClass(className);
      if (clazz == null) {
        clazz = getSchemaFromContext(ctx).getView(className);
      }
      if (clazz == null) {
        return null;
      }
      int[] clusterIds = clazz.getPolymorphicClusterIds();
      for (int clusterId : clusterIds) {
        String clusterName = db.getClusterNameById(clusterId);
        if (clusterName != null) {
          result.add(clusterName);
        }
      }
      return result;
    }

    return null;
  }
private Set < String > calculateTargetClusters ( QueryPlanningInfo info , OCommandContext ctx ) { if ( info . target == null ) { return Collections . EMPTY_SET ; } Set < String > result = new HashSet <> ( ) ; ODatabase db = ctx . getDatabase ( ) ; OFromItem item = info . target . getItem ( ) ; if ( item . getRids ( ) != null && item . getRids ( ) . size ( ) > 0 ) { if ( item . getRids ( ) . size ( ) == 1 ) { OInteger cluster = item . getRids ( ) . get ( 0 ) . getCluster ( ) ; if ( cluster . getValue ( ) . longValue ( ) > ORID . CLUSTER_MAX ) { throw new OCommandExecutionException ( "Invalid cluster Id:" + cluster + ". Max allowed value = " + ORID . CLUSTER_MAX ) ; } result . add ( db . getClusterNameById ( cluster . getValue ( ) . intValue ( ) ) ) ; } else { for ( ORid rid : item . getRids ( ) ) { OInteger cluster = rid . getCluster ( ) ; result . add ( db . getClusterNameById ( cluster . getValue ( ) . intValue ( ) ) ) ; } } return result ; } else if ( item . getInputParams ( ) != null && item . getInputParams ( ) . size ( ) > 0 ) { if ( ( ( ODatabaseInternal ) ctx . getDatabase ( ) ) . isSharded ( ) ) { throw new UnsupportedOperationException ( "Sharded query with input parameter as a target is not supported yet" ) ; } return null ; } else if ( item . getCluster ( ) != null ) { String name = item . getCluster ( ) . getClusterName ( ) ; if ( name == null ) { name = db . getClusterNameById ( item . getCluster ( ) . getClusterNumber ( ) ) ; } if ( name != null ) { result . add ( name ) ; return result ; } else { return null ; } } else if ( item . getClusterList ( ) != null ) { for ( OCluster cluster : item . getClusterList ( ) . toListOfClusters ( ) ) { String name = cluster . getClusterName ( ) ; if ( name == null ) { name = db . getClusterNameById ( cluster . getClusterNumber ( ) ) ; } if ( name != null ) { result . add ( name ) ; } } return result ; } else if ( item . getIndex ( ) != null ) { String indexName = item . getIndex ( ) . getIndexName ( ) ; OIndex < ? > idx = db . getMetadata ( ) . getIndexManager ( ) . getIndex ( indexName ) ; if ( idx == null ) { throw new OCommandExecutionException ( "Index " + indexName + " does not exist" ) ; } result . addAll ( idx . getClusters ( ) ) ; if ( result . isEmpty ( ) ) { return null ; } return result ; } else if ( item . getInputParam ( ) != null ) { if ( ( ( ODatabaseInternal ) ctx . getDatabase ( ) ) . isSharded ( ) ) { throw new UnsupportedOperationException ( "Sharded query with input parameter as a target is not supported yet" ) ; } return null ; } else if ( item . getIdentifier ( ) != null ) { String className = item . getIdentifier ( ) . getStringValue ( ) ; OClass clazz = getSchemaFromContext ( ctx ) . getClass ( className ) ; if ( clazz == null ) { clazz = getSchemaFromContext ( ctx ) . getView ( className ) ; } if ( clazz == null ) { return null ; } int [ ] clusterIds = clazz . getPolymorphicClusterIds ( ) ; for ( int clusterId : clusterIds ) { String clusterName = db . getClusterNameById ( clusterId ) ; if ( clusterName != null ) { result . add ( clusterName ) ; } } return result ; } return null ; }
tries to calculate which clusters will be impacted by this query

@param info
@param ctx

@return a set of cluster names this query will fetch from
tries to calculate which clusters will be impacted by this query