private RecordIterator getTriplesUsingIndex(int subj, int pred, int obj, int context, int flags, int flagsMask, TripleIndex index, boolean rangeSearch) { byte[] searchKey = getSearchKey(subj, pred, obj, context, flags); byte[] searchMask = getSearchMask(subj, pred, obj, context, flagsMask); if (rangeSearch) { // Use ranged search byte[] minValue = getMinValue(subj, pred, obj, context); byte[] maxValue = getMaxValue(subj, pred, obj, context); return index.getBTree().iterateRangedValues(searchKey, searchMask, minValue, maxValue); } else { // Use sequential scan return index.getBTree().iterateValues(searchKey, searchMask); } }
private RecordIterator getTriplesUsingIndex(int subj, int pred, int obj, int context, int flags, int flagsMask, TripleIndex index, boolean rangeSearch) { byte[] searchKey = getSearchKey(subj, pred, obj, context, flags); byte[] searchMask = getSearchMask(subj, pred, obj, context, flagsMask); if (rangeSearch) { // Use ranged search byte[] minValue = getMinValue(subj, pred, obj, context); byte[] maxValue = getMaxValue(subj, pred, obj, context); return index.getBTree().iterateRangedValues(searchKey, searchMask, minValue, maxValue); } else { // Use sequential scan return index.getBTree().iterateValues(searchKey, searchMask); } }