core/src/main/java/com/orientechnologies/orient/core/sql/OCommandExecutorSQLSelect.java
private void applyPartialOrderBy() {
    if (expandTarget != null || (unwindFields != null && unwindFields.size() > 0) || orderedFields.isEmpty() || fullySortedByIndex
        || isRidOnlySort()) {
      return;
    }

    if (limit > 0) {
      int sortBufferSize = limit + 1;
      if (skip > 0) {
        sortBufferSize += skip;
      }
      if (tempResult instanceof List && ((List) tempResult).size() >= sortBufferSize + PARTIAL_SORT_BUFFER_THRESHOLD) {
        applyOrderBy(false);
        tempResult = new ArrayList(((List) tempResult).subList(0, sortBufferSize));
      }
    }
  }
private void applyPartialOrderBy() {
    if (expandTarget != null || (unwindFields != null && unwindFields.size() > 0) || orderedFields.isEmpty() || fullySortedByIndex
        || isRidOnlySort()) {
      return;
    }

    if (limit > 0) {
      int sortBufferSize = limit + 1;
      if (skip > 0) {
        sortBufferSize += skip;
      }
      if (tempResult instanceof List && ((List) tempResult).size() >= sortBufferSize + PARTIAL_SORT_BUFFER_THRESHOLD) {
        applyOrderBy(false);
        tempResult = new ArrayList(((List) tempResult).subList(0, sortBufferSize));
      }
    }
  }
private void applyPartialOrderBy ( ) { if ( expandTarget != null || ( unwindFields != null && unwindFields . size ( ) > 0 ) || orderedFields . isEmpty ( ) || fullySortedByIndex || isRidOnlySort ( ) ) { return ; } if ( limit > 0 ) { int sortBufferSize = limit + 1 ; if ( skip > 0 ) { sortBufferSize += skip ; } if ( tempResult instanceof List && ( ( List ) tempResult ) . size ( ) >= sortBufferSize + PARTIAL_SORT_BUFFER_THRESHOLD ) { applyOrderBy ( false ) ; tempResult = new ArrayList ( ( ( List ) tempResult ) . subList ( 0 , sortBufferSize ) ) ; } } }
in case of ORDER BY + SKIP + LIMIT, this method applies ORDER BY operation on partial result and discards overflowing results
(results > skip + limit)
in case of ORDER BY + SKIP + LIMIT this method applies ORDER BY operation on partial result and discards overflowing results ( results > skip + limit )