code: def expose_ideal_query_execution_start_points(compound_match_query, location_types,
                                                coerced_locations):
      
      new_queries = []
  
      for match_query in compound_match_query.match_queries:
          location_classification = _classify_query_locations(match_query)
          preferred_locations, eligible_locations, _ = location_classification
  
          if preferred_locations:
              # Convert all eligible locations into non-eligible ones, by removing
              # their "class:" clause. The "class:" clause is provided either by having
              # a QueryRoot block or a CoerceType block in the MatchStep corresponding
              # to the location. We remove it by converting the class check into
              # an "INSTANCEOF" Filter block, which OrientDB is unable to optimize away.
              new_query = _expose_only_preferred_locations(
                  match_query, location_types, coerced_locations,
                  preferred_locations, eligible_locations)
          elif eligible_locations:
              # Make sure that all eligible locations have a "class:" clause by adding
              # a CoerceType block that is a no-op as guaranteed by the schema. This merely
              # ensures that OrientDB is able to use each of these locations as a query start point,
              # and will choose the one whose class is of lowest cardinality.
              new_query = _expose_all_eligible_locations(
                  match_query, location_types, eligible_locations)
          else:
              raise AssertionError(u'This query has no preferred or eligible query start locations. '
                                   u'This is almost certainly a bug: {}'.format(match_query))
  
          new_queries.append(new_query)
  
      return compound_match_query._replace(match_queries=new_queries)
docs: Ensure that OrientDB only considers desirable query start points in query planning.