private boolean verifyLimit(Collection result, int limit, ExecutionContext context) { if (limit > 0) { if (!context.isDistinct()) { return result.size() == limit; } else if (result.size() == limit) { return true; } } return false; }
public static SelectResults createResultCollection(ExecutionContext context, ObjectType elementType) { return context.isDistinct() ? new ResultsSet(elementType) : new ResultsBag(elementType, context.getCachePerfStats()); }
public static SelectResults createStructCollection(ExecutionContext context, StructType elementType) { return context.isDistinct() ? new StructSet(elementType) : new StructBag(elementType, context.getCachePerfStats()); }
/** * For local queries with distinct, deserialize all PdxInstances as we do not have a way to * compare Pdx and non Pdx objects in case the cache has a mix of pdx and non pdx objects. We * still have to honor the cache level readSerialized flag in case of all Pdx objects in cache. * Also always convert PdxString to String before adding to resultSet for remote queries */ private Object deserializePdxForLocalDistinctQuery(ExecutionContext context, Object value) throws QueryInvocationTargetException { if (!((DefaultQuery) context.getQuery()).isRemoteQuery()) { if (context.isDistinct() && value instanceof PdxInstance && !this.region.getCache().getPdxReadSerialized()) { try { value = ((PdxInstance) value).getObject(); } catch (Exception ex) { throw new QueryInvocationTargetException( "Unable to retrieve domain object from PdxInstance while building the ResultSet. " + ex.getMessage()); } } else if (value instanceof PdxString) { value = value.toString(); } } return value; }
checkSet = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) checkType) : new SortedResultsBag<Struct>((StructTypeImpl) checkType, nullValuesAtStart); } else { checkType = ((RuntimeIterator) checkList.get(0)).getElementType(); if (useLinkedDataStructure) { checkSet = context.isDistinct() ? new LinkedResultSet(checkType) : new SortedResultsBag(checkType, nullValuesAtStart); } else {
if (context.isDistinct() && ((DefaultQuery) context.getQuery()).isRemoteQuery()) { Set tempResults = new HashSet(); for (Object o : c) { if (((DefaultQuery) context.getQuery()).isRemoteQuery() && context.isDistinct()) { for (int i = 0; i < a.length; i++) { if (a[i] instanceof PdxString) {
ObjectType resultType = ((RuntimeIterator) finalItrs.iterator().next()).getElementType(); if (useLinkedDataStructure) { returnSet = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else { StructTypeImpl resultType = (StructTypeImpl) createStructTypeForRuntimeIterators(finalItrs); if (useLinkedDataStructure) { returnSet = context.isDistinct() ? new LinkedStructSet(resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else {
rs = contextOrNull.isDistinct() ? new ResultsSet(small) : new ResultsBag(small, contextOrNull.getCachePerfStats()); } else {
.fine("StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { results = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { .fine("non-StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { results = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else { .fine("StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { results = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { .fine("non-StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { results = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else { .fine("StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { results = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else {
set = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { set = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else {
set = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { set = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else {
set = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { set = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else {
.fine("StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { set = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { .fine("non-StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { set = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else { .fine("StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { set = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else { .fine("non-StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { set = context.isDistinct() ? new LinkedResultSet(resultType) : new SortedResultsBag(resultType, nullValuesAtStart); } else { .fine("StructType resultType.class=" + resultType.getClass().getName()); if (useLinkedDataStructure) { set = context.isDistinct() ? new LinkedStructSet((StructTypeImpl) resultType) : new SortedResultsBag<Struct>((StructTypeImpl) resultType, nullValuesAtStart); } else {
if (len == 1) { ObjectType elementType = ((RuntimeIterator) iterators.get(0)).getElementType(); emptySet = context.isDistinct() ? new ResultsSet(elementType) : new ResultsBag(elementType, 0, context.getCachePerfStats()); } else { fieldTypes[i] = iter.getElementType(); emptySet = context.isDistinct() ? new StructSet(new StructTypeImpl(fieldNames, fieldTypes)) : new StructBag(0, new StructTypeImpl(fieldNames, fieldTypes), context.getCachePerfStats());
rs = contextOrNull.isDistinct() ? new ResultsSet(large) : new ResultsBag(large, contextOrNull.getCachePerfStats()); } else {