@Test public void testComparatorNullOrdering() { ListNestedSortComparator<Integer> comparator = new ListNestedSortComparator<Integer>(new int[] {0}, OrderBy.DESC); comparator.setNullOrdering(Arrays.asList(NullOrdering.FIRST)); List<Integer>[] data = new List[3]; data[0] = Arrays.asList(1); data[1] = Arrays.asList((Integer)null); data[2] = Arrays.asList(2); Arrays.sort(data, comparator); assertNull(data[0].get(0)); comparator.setNullOrdering(Arrays.asList(NullOrdering.LAST)); Arrays.sort(data, comparator); assertNull(data[2].get(0)); comparator = new ListNestedSortComparator<Integer>(new int[] {0}, OrderBy.ASC); Arrays.sort(data, comparator); assertNull(data[0].get(0)); comparator.setNullOrdering(Arrays.asList(NullOrdering.LAST)); Arrays.sort(data, comparator); assertNull(data[2].get(0)); }
tree.getComparator().setNullOrdering(nullOrdering); tree.getComparator().setOrderTypes(sortTypes);
tree.getComparator().setNullOrdering(nullOrdering); tree.getComparator().setOrderTypes(sortTypes);
tree.getComparator().setNullOrdering(nullOrdering); tree.getComparator().setOrderTypes(sortTypes);
private void init(TupleSource sourceID, Mode mode, BufferManager bufferMgr, String groupName, List<? extends Expression> schema, List<Boolean> sortTypes, List<NullOrdering> nullOrderings, int[] cols) { this.source = sourceID; this.mode = mode; this.bufferManager = bufferMgr; this.groupName = groupName; this.schema = schema; this.schemaSize = bufferManager.getSchemaSize(this.schema); this.batchSize = bufferManager.getProcessorBatchSize(this.schema); this.targetRowCount = Math.max(bufferManager.getMaxProcessingSize()/this.schemaSize, 2)*this.batchSize; this.comparator = new ListNestedSortComparator(cols, sortTypes).defaultNullOrder(bufferMgr.getOptions().getDefaultNullOrder()); int distinctIndex = cols.length - 1; this.comparator.setDistinctIndex(distinctIndex); this.comparator.setNullOrdering(nullOrderings); }
private void init(TupleSource sourceID, Mode mode, BufferManager bufferMgr, String groupName, List<? extends Expression> schema, List<Boolean> sortTypes, List<NullOrdering> nullOrderings, int[] cols) { this.source = sourceID; this.mode = mode; this.bufferManager = bufferMgr; this.groupName = groupName; this.schema = schema; this.schemaSize = bufferManager.getSchemaSize(this.schema); this.batchSize = bufferManager.getProcessorBatchSize(this.schema); this.targetRowCount = Math.max(bufferManager.getMaxProcessingSize()/this.schemaSize, 2)*this.batchSize; this.comparator = new ListNestedSortComparator(cols, sortTypes).defaultNullOrder(bufferMgr.getOptions().getDefaultNullOrder()); int distinctIndex = cols.length - 1; this.comparator.setDistinctIndex(distinctIndex); this.comparator.setNullOrdering(nullOrderings); }
private void init(TupleSource sourceID, Mode mode, BufferManager bufferMgr, String groupName, List<? extends Expression> schema, List<Boolean> sortTypes, List<NullOrdering> nullOrderings, int[] cols) { this.source = sourceID; this.mode = mode; this.bufferManager = bufferMgr; this.groupName = groupName; this.schema = schema; this.schemaSize = bufferManager.getSchemaSize(this.schema); this.batchSize = bufferManager.getProcessorBatchSize(this.schema); this.targetRowCount = Math.max(bufferManager.getMaxProcessingSize()/this.schemaSize, 2)*this.batchSize; this.comparator = new ListNestedSortComparator(cols, sortTypes).defaultNullOrder(bufferMgr.getOptions().getDefaultNullOrder()); int distinctIndex = cols.length - 1; this.comparator.setDistinctIndex(distinctIndex); this.comparator.setNullOrdering(nullOrderings); }