final int index = getDelimiter(c, 0, c.length, COLUMN_FAMILY_DELIMITER); if (index == -1) {
@Override public int compareRows(byte [] left, int loffset, int llength, byte [] right, int roffset, int rlength) { int leftDelimiter = getDelimiter(left, loffset, llength, HConstants.DELIMITER); int rightDelimiter = getDelimiter(right, roffset, rlength, HConstants.DELIMITER);
@Override public int compareRows(byte [] left, int loffset, int llength, byte [] right, int roffset, int rlength) { int leftDelimiter = getDelimiter(left, loffset, llength, HConstants.DELIMITER); int rightDelimiter = getDelimiter(right, roffset, rlength, HConstants.DELIMITER);
private static int getRequiredDelimiter(final byte [] b, final int offset, final int length, final int delimiter) { int index = getDelimiter(b, offset, length, delimiter); if (index < 0) { throw new IllegalArgumentException("No " + (char)delimiter + " in <" + Bytes.toString(b) + ">" + ", length=" + length + ", offset=" + offset); } return index; }
@Override public int compareRows(byte [] left, int loffset, int llength, byte [] right, int roffset, int rlength) { int leftDelimiter = getDelimiter(left, loffset, llength, HConstants.DELIMITER); int rightDelimiter = getDelimiter(right, roffset, rlength, HConstants.DELIMITER);
/** * Splits a column in comparatorType:comparatorValue form into separate byte arrays * <p> * @param comparator the comparator * @return the parsed arguments of the comparator as a 2D byte array */ public static byte [][] parseComparator (byte [] comparator) { final int index = KeyValue.getDelimiter(comparator, 0, comparator.length, ParseConstants.COLON); if (index == -1) { throw new IllegalArgumentException("Incorrect comparator"); } byte [][] result = new byte [2][0]; result[0] = new byte [index]; System.arraycopy(comparator, 0, result[0], 0, index); final int len = comparator.length - (index + 1); result[1] = new byte[len]; System.arraycopy(comparator, index + 1, result[1], 0, len); return result; }
@Override public int compareRows(byte [] left, int loffset, int llength, byte [] right, int roffset, int rlength) { int leftDelimiter = getDelimiter(left, loffset, llength, HConstants.DELIMITER); int rightDelimiter = getDelimiter(right, roffset, rlength, HConstants.DELIMITER);
/** * Splits a column in comparatorType:comparatorValue form into separate byte arrays * <p> * @param comparator the comparator * @return the parsed arguments of the comparator as a 2D byte array */ public static byte [][] parseComparator (byte [] comparator) { final int index = KeyValue.getDelimiter(comparator, 0, comparator.length, ParseConstants.COLON); if (index == -1) { throw new IllegalArgumentException("Incorrect comparator"); } byte [][] result = new byte [2][0]; result[0] = new byte [index]; System.arraycopy(comparator, 0, result[0], 0, index); final int len = comparator.length - (index + 1); result[1] = new byte[len]; System.arraycopy(comparator, index + 1, result[1], 0, len); return result; }
/** * Splits a column in family:qualifier form into separate byte arrays. * <p> * Not recommend to be used as this is old-style API. * @param c The column. * @return The parsed column. */ public static byte [][] parseColumn(byte [] c) { final int index = getDelimiter(c, 0, c.length, COLUMN_FAMILY_DELIMITER); if (index == -1) { // If no delimiter, return array of size 1 return new byte [][] { c }; } else if(index == c.length - 1) { // Only a family, return array size 1 byte [] family = new byte[c.length-1]; System.arraycopy(c, 0, family, 0, family.length); return new byte [][] { family }; } // Family and column, return array size 2 final byte [][] result = new byte [2][]; result[0] = new byte [index]; System.arraycopy(c, 0, result[0], 0, index); final int len = c.length - (index + 1); result[1] = new byte[len]; System.arraycopy(c, index + 1 /*Skip delimiter*/, result[1], 0, len); return result; }
final int index = getDelimiter(c, 0, c.length, COLUMN_FAMILY_DELIMITER); if (index == -1) {
final int index = getDelimiter(c, 0, c.length, COLUMN_FAMILY_DELIMITER); if (index == -1) {
final int index = getDelimiter(c, 0, c.length, COLUMN_FAMILY_DELIMITER); if (index == -1) {
int argumentListStartIndex = KeyValue.getDelimiter(filterStringAsByteArray, 0, filterStringAsByteArray.length, ParseConstants.LPAREN);
int argumentListStartIndex = KeyValue.getDelimiter(filterStringAsByteArray, 0, filterStringAsByteArray.length, ParseConstants.LPAREN);
/** * @param c * @param kv Presume first on row: i.e. empty column, maximum timestamp and * a type of Type.Maximum * @param ttl Time to live in ms for this Store * @param metaregion True if this is .META. or -ROOT- region. */ GetClosestRowBeforeTracker(final KVComparator c, final KeyValue kv, final long ttl, final boolean metaregion) { super(); this.metaregion = metaregion; this.targetkey = kv; // If we are in a metaregion, then our table name is the prefix on the // targetkey. this.rowoffset = kv.getRowOffset(); int l = -1; if (metaregion) { l = KeyValue.getDelimiter(kv.getBuffer(), rowoffset, kv.getRowLength(), HRegionInfo.DELIMITER) - this.rowoffset; } this.tablenamePlusDelimiterLength = metaregion? l + 1: -1; this.oldestts = System.currentTimeMillis() - ttl; this.kvcomparator = c; KeyValue.RowComparator rc = new KeyValue.RowComparator(this.kvcomparator); this.deletes = new TreeMap<KeyValue, NavigableSet<KeyValue>>(rc); }
/** * @param c * @param kv Presume first on row: i.e. empty column, maximum timestamp and * a type of Type.Maximum * @param ttl Time to live in ms for this Store * @param metaregion True if this is hbase:meta or -ROOT- region. */ GetClosestRowBeforeTracker(final KVComparator c, final KeyValue kv, final long ttl, final boolean metaregion) { super(); this.metaregion = metaregion; this.targetkey = kv; // If we are in a metaregion, then our table name is the prefix on the // targetkey. this.rowoffset = kv.getRowOffset(); int l = -1; if (metaregion) { l = KeyValue.getDelimiter(kv.getRowArray(), rowoffset, kv.getRowLength(), HConstants.DELIMITER) - this.rowoffset; } this.tablenamePlusDelimiterLength = metaregion? l + 1: -1; this.now = System.currentTimeMillis(); this.oldestUnexpiredTs = now - ttl; this.kvcomparator = c; KeyValue.RowOnlyComparator rc = new KeyValue.RowOnlyComparator(this.kvcomparator); this.deletes = new TreeMap<KeyValue, NavigableSet<KeyValue>>(rc); }
int leftDelimiter = getDelimiter(left, loffset, llength, HRegionInfo.DELIMITER); int rightDelimiter = getDelimiter(right, roffset, rlength, HRegionInfo.DELIMITER); if (leftDelimiter < 0 && rightDelimiter >= 0) {