private static boolean isIndexable(KeyInfo keyInfo, IndexableItem item) { for(String field : keyInfo.getKeyFields()) { if(!item.hasValue(field)) { return false; } } return true; }
public static boolean isAnyDataPresent(IndexableItem sEntity, Index index) { for(String indexField : index.getKeyInfo().getKeyFields()) { if(sEntity.hasValue(indexField)) { return true; } } return false; }
private SearchCondition handleEqualsToRange(EqualsCondition equalsCondition) { int nrOfKeys = keyInfo.getKeyFields().size(); if(nrOfKeys > 1) { //composite keys always use range search return new RangeCondition(equalsCondition.getKey(), true, equalsCondition.getKey(), true); } else { return equalsCondition; } }
private Set<SearchCondition> getSearchConditions(BlockOperation blockOperation, Index index) { KeyInfo keyInfo = index.getKeyInfo(); return blockOperation.getConditions(keyInfo.getKeyNameMapper(), keyInfo.getKeyFields()); } }
remainingFields.removeAll(bestIndexMatch.getKeyInfo().getKeyFields());