if (commands.getFirst() == null) { Put p = new Put(key, putTimestamp); commands.setFirst(p);
public FuzzyRowFilter(List<Pair<byte[], byte[]>> fuzzyKeysData) { List<Pair<byte[], byte[]>> fuzzyKeyDataCopy = new ArrayList<>(fuzzyKeysData.size()); for (Pair<byte[], byte[]> aFuzzyKeysData : fuzzyKeysData) { if (aFuzzyKeysData.getFirst().length != aFuzzyKeysData.getSecond().length) { Pair<String, String> readable = new Pair<>(Bytes.toStringBinary(aFuzzyKeysData.getFirst()), Bytes.toStringBinary(aFuzzyKeysData.getSecond())); throw new IllegalArgumentException("Fuzzy pair lengths do not match: " + readable); } Pair<byte[], byte[]> p = new Pair<>(); // create a copy of pair bytes so that they are not modified by the filter. p.setFirst(Arrays.copyOf(aFuzzyKeysData.getFirst(), aFuzzyKeysData.getFirst().length)); p.setSecond(Arrays.copyOf(aFuzzyKeysData.getSecond(), aFuzzyKeysData.getSecond().length)); // update mask ( 0 -> -1 (0xff), 1 -> 2) p.setSecond(preprocessMask(p.getSecond())); preprocessSearchKey(p); fuzzyKeyDataCopy.add(p); } this.fuzzyKeysData = fuzzyKeyDataCopy; this.tracker = new RowTracker(); }
orphanRegionRange.setFirst(start);
if (RegionSplitCalculator.BYTES_COMPARATOR .compare(hi.getStartKey(), range.getFirst()) < 0) { range.setFirst(hi.getStartKey());
if (RegionSplitCalculator.BYTES_COMPARATOR .compare(hi.getStartKey(), range.getFirst()) < 0) { range.setFirst(hi.getStartKey());
walKeyProto.getTableName().toByteArray()), replaySeqId, walKeyProto.getWriteTime(), clusterIds, walKeyProto.getNonceGroup(), walKeyProto.getNonce(), null); logEntry.setFirst(key); logEntry.setSecond(val);
private static void adjustQualifierRange(Integer qualifier, Pair<Integer, Integer> minMaxQualifiers) { if (minMaxQualifiers.getFirst() == null) { minMaxQualifiers.setFirst(qualifier); minMaxQualifiers.setSecond(qualifier); } else { if (minMaxQualifiers.getFirst() > qualifier) { minMaxQualifiers.setFirst(qualifier); } else if (minMaxQualifiers.getSecond() < qualifier) { minMaxQualifiers.setSecond(qualifier); } } }
@Override public Void visit(KeyValueColumnExpression expression) { int qualifier = encodingScheme.decode(expression.getColumnQualifier()); if (range.getFirst() == null) { range.setFirst(qualifier); range.setSecond(qualifier); } else if (qualifier < range.getFirst()) { range.setFirst(qualifier); } else if (qualifier > range.getSecond()) { range.setSecond(qualifier); } cfSet.add(expression.getColumnFamily()); expressionQualifiers.set(qualifier); return null; } };
private boolean getKeyExpressionCombinations(Pair<Expression, Expression> combination, StatementContext context, SelectStatement select, TableRef table, JoinType type, final List<Expression> joinExpressions, final List<Expression> hashExpressions) throws SQLException { if ((type != JoinType.Inner && type != JoinType.Semi) || this.noChildParentJoinOptimization) return false; Scan scanCopy = ScanUtil.newScan(context.getScan()); StatementContext contextCopy = new StatementContext(statement, context.getResolver(), scanCopy, new SequenceManager(statement)); contextCopy.setCurrentTable(table); List<Expression> lhsCombination = Lists.<Expression> newArrayList(); boolean complete = WhereOptimizer.getKeyExpressionCombination(lhsCombination, contextCopy, select, joinExpressions); if (lhsCombination.isEmpty()) return false; List<Expression> rhsCombination = Lists.newArrayListWithExpectedSize(lhsCombination.size()); for (int i = 0; i < lhsCombination.size(); i++) { Expression lhs = lhsCombination.get(i); for (int j = 0; j < joinExpressions.size(); j++) { if (lhs == joinExpressions.get(j)) { rhsCombination.add(hashExpressions.get(j)); break; } } } if (lhsCombination.size() == 1) { combination.setFirst(lhsCombination.get(0)); combination.setSecond(rhsCombination.get(0)); } else { combination.setFirst(new RowValueConstructorExpression(lhsCombination, false)); combination.setSecond(new RowValueConstructorExpression(rhsCombination, false)); } return type == JoinType.Semi && complete; }
public FuzzyRowFilter(List<Pair<byte[], byte[]>> fuzzyKeysData) { List<Pair<byte[], byte[]>> fuzzyKeyDataCopy = new ArrayList<>(fuzzyKeysData.size()); for (Pair<byte[], byte[]> aFuzzyKeysData : fuzzyKeysData) { if (aFuzzyKeysData.getFirst().length != aFuzzyKeysData.getSecond().length) { Pair<String, String> readable = new Pair<>(Bytes.toStringBinary(aFuzzyKeysData.getFirst()), Bytes.toStringBinary(aFuzzyKeysData.getSecond())); throw new IllegalArgumentException("Fuzzy pair lengths do not match: " + readable); } Pair<byte[], byte[]> p = new Pair<>(); // create a copy of pair bytes so that they are not modified by the filter. p.setFirst(Arrays.copyOf(aFuzzyKeysData.getFirst(), aFuzzyKeysData.getFirst().length)); p.setSecond(Arrays.copyOf(aFuzzyKeysData.getSecond(), aFuzzyKeysData.getSecond().length)); // update mask ( 0 -> -1 (0xff), 1 -> 2) p.setSecond(preprocessMask(p.getSecond())); preprocessSearchKey(p); fuzzyKeyDataCopy.add(p); } this.fuzzyKeysData = fuzzyKeyDataCopy; this.tracker = new RowTracker(); }
if (left.getDataType() != toType) { left = CoerceExpression.create(left, toType); p.setFirst(left);
nullsVsNullRepeationCounter.setFirst(totalNulls); nullsVsNullRepeationCounter.setSecond(nullsRepeationCounter);
private static void adjustQualifierRange(Integer qualifier, Pair<Integer, Integer> minMaxQualifiers) { if (minMaxQualifiers.getFirst() == null) { minMaxQualifiers.setFirst(qualifier); minMaxQualifiers.setSecond(qualifier); } else { if (minMaxQualifiers.getFirst() > qualifier) { minMaxQualifiers.setFirst(qualifier); } else if (minMaxQualifiers.getSecond() < qualifier) { minMaxQualifiers.setSecond(qualifier); } } }
private static void adjustQualifierRange(Integer qualifier, Pair<Integer, Integer> minMaxQualifiers) { if (minMaxQualifiers.getFirst() == null) { minMaxQualifiers.setFirst(qualifier); minMaxQualifiers.setSecond(qualifier); } else { if (minMaxQualifiers.getFirst() > qualifier) { minMaxQualifiers.setFirst(qualifier); } else if (minMaxQualifiers.getSecond() < qualifier) { minMaxQualifiers.setSecond(qualifier); } } }
@Override public Void visit(KeyValueColumnExpression expression) { int qualifier = encodingScheme.decode(expression.getColumnQualifier()); if (range.getFirst() == null) { range.setFirst(qualifier); range.setSecond(qualifier); } else if (qualifier < range.getFirst()) { range.setFirst(qualifier); } else if (qualifier > range.getSecond()) { range.setSecond(qualifier); } cfSet.add(expression.getColumnFamily()); expressionQualifiers.set(qualifier); return null; } };
@Override public Void visit(KeyValueColumnExpression expression) { int qualifier = encodingScheme.decode(expression.getColumnQualifier()); if (range.getFirst() == null) { range.setFirst(qualifier); range.setSecond(qualifier); } else if (qualifier < range.getFirst()) { range.setFirst(qualifier); } else if (qualifier > range.getSecond()) { range.setSecond(qualifier); } cfSet.add(expression.getColumnFamily()); expressionQualifiers.set(qualifier); return null; } };
/** * Convert values to index key/value. * * @param index * @param result * @return */ public Pair<byte[], String> buildIndexKey(Index index, NavigableMap<byte[], NavigableMap<byte[], byte[]>> result, byte[] primaryKey) { List<IndexField> indexFieldLists = getIndexFields(index, result); Pair<byte[], String> pair = genRowkey(index, indexFieldLists); if (pair == null) { return null; } pair.setFirst(Bytes.add(pair.getFirst(), FConstants.DATA_ROW_SEP_STORE, primaryKey)); return pair; }
public Pair<ImmutableBytesWritable, Put> prepareDocument(final byte[] valueBytes, final String newId_url , final String recordKey, final String recordValue) { final Pair<ImmutableBytesWritable, Put> keyValuePair = new Pair<ImmutableBytesWritable, Put>(); final DocumentProtos.MediaContainer.Builder mcb = DocumentProtos.MediaContainer.newBuilder(); mcb.addMedia(prepareMedia(valueBytes, recordKey, recordValue)); keyValuePair.setSecond(DocumentWrapper2HBasePut.translate(prepareDocumentWrapperBuilder(newId_url, mcb).build())); keyValuePair.setFirst(new ImmutableBytesWritable(newId_url.getBytes())); return keyValuePair; }