@Override public ByteBuffer getValue(ColumnOrSuperColumn element) { return element.getColumn().bufferForValue(); }
@Override public ByteBuffer getColumn(ColumnOrSuperColumn element) { return element.getColumn().bufferForName(); }
/** * Converts a list of ColumnOrSuperColumn to Column * @param columns * @return */ public static List<Column> getColumnList(List<ColumnOrSuperColumn> columns) { ArrayList<Column> list = new ArrayList<Column>(columns.size()); for (ColumnOrSuperColumn col : columns) { list.add(col.getColumn()); } return list; }
private static List<Column> getColumnList(List<ColumnOrSuperColumn> columns) { ArrayList<Column> list = new ArrayList<Column>(columns.size()); for (ColumnOrSuperColumn col : columns) { list.add(col.getColumn()); } return list; }
private void applyToRow(List<ColumnOrSuperColumn> cosclist) { hasEntries = cosclist.size() > 0; for (Iterator<ColumnOrSuperColumn> iterator = cosclist.iterator(); iterator.hasNext();) { ColumnOrSuperColumn cosc = iterator.next(); if ( cosc.isSetSuper_column() ) { applySuper(cosc); } else { applyStandard(cosc.getColumn()); } iterator.remove(); } }
private void applyToRow(K key, List<ColumnOrSuperColumn> cosclist) { HColumn<N, ByteBuffer> column; N colName; for (Iterator<ColumnOrSuperColumn> iterator = cosclist.iterator(); iterator.hasNext();) { ColumnOrSuperColumn cosc = iterator.next(); colName = columnNameSerializer.fromByteBuffer(cosc.getColumn().name.duplicate()); column = columns.get(colName); if ( column == null ) { column = new HColumnImpl<N, ByteBuffer>(cosc.getColumn(), columnNameSerializer, ByteBufferSerializer.get()); } else { ((HColumnImpl<N, ByteBuffer>)column).apply(cosc.getColumn()); } columns.put(colName, column); iterator.remove(); } }
public void extractResults(Iterable<byte[]> canonicalRows, Map<ByteBuffer, List<ColumnOrSuperColumn>> colsByKey, long startTs) { // Make sure returned maps are keyed by the given rows Map<ByteBuffer, byte[]> canonicalRowsByHash = Maps.uniqueIndex(canonicalRows, ByteBuffer::wrap); for (Map.Entry<ByteBuffer, List<ColumnOrSuperColumn>> colEntry : colsByKey.entrySet()) { byte[] rawRow = CassandraKeyValueServices.getBytesFromByteBuffer(colEntry.getKey()); byte[] row = canonicalRowsByHash.get(ByteBuffer.wrap(rawRow)); List<ColumnOrSuperColumn> columns = colEntry.getValue(); if (!columns.isEmpty()) { rowsToLastCompositeColumns.put(row, columns.get(columns.size() - 1).getColumn()); } else { emptyRows.add(row); } rowsToRawColumnCount.put(row, columns.size()); for (ColumnOrSuperColumn c : columns) { Pair<byte[], Long> pair = CassandraKeyValueServices.decomposeName(c.getColumn()); internalExtractResult(startTs, row, pair.lhSide, c.getColumn().getValue(), pair.rhSide); } } }
@Override public List<Column> execute(Cassandra.Client cassandra) throws HectorException { try { List<ColumnOrSuperColumn> cosclist = cassandra.get_slice(key, columnParent, predicate, getThriftCl(OperationType.READ)); if (cosclist == null) { return null; } ArrayList<Column> result = new ArrayList<Column>(cosclist.size()); for (ColumnOrSuperColumn cosc : cosclist) { result.add(cosc.getColumn()); } return result; } catch (Exception e) { throw xtrans.translate(e); } } };
private long extractUpperLimit(ColumnOrSuperColumn result) { try { Column column = result.getColumn(); return PtBytes.toLong(column.getValue()); } catch (IllegalArgumentException e) { String msg = "Caught an IllegalArgumentException trying to convert the stored value to a long. " + "This can happen if you attempt to run AtlasDB without a timelock block after having " + "previously migrated to the TimeLock server. Please adjust your configuration to allow " + "AtlasDB to talk to TimeLock, shut down all service nodes, and then restart. Consult the " + "documentation here: https://palantir.github.io/atlasdb/html/configuration/" + "external_timelock_service_configs/timelock_client_config.html#timelock-client-" + "configuration - contact AtlasDB support for additional guidance if necessary."; throw new IllegalStateException(msg, e); } } });
@SuppressWarnings("VisibilityModifier") public final byte[] extractResults( Map<ByteBuffer, List<ColumnOrSuperColumn>> colsByKey, long startTs, ColumnSelection selection) { byte[] maxRow = null; for (Entry<ByteBuffer, List<ColumnOrSuperColumn>> colEntry : colsByKey.entrySet()) { byte[] row = CassandraKeyValueServices.getBytesFromByteBuffer(colEntry.getKey()); maxRow = updatedMaxRow(maxRow, row); for (ColumnOrSuperColumn c : colEntry.getValue()) { Pair<byte[], Long> pair = CassandraKeyValueServices.decomposeName(c.getColumn()); internalExtractResult(startTs, selection, row, pair.lhSide, c.getColumn().getValue(), pair.rhSide); } } return maxRow; }
@Override public Column execute(Cassandra.Client cassandra) throws HectorException { ColumnOrSuperColumn cosc; try { cosc = cassandra.get(key, columnPath, getThriftCl(OperationType.READ)); } catch (NotFoundException e) { setException(xtrans.translate(e)); return null; } catch (Exception e) { throw xtrans.translate(e); } return cosc == null ? null : cosc.getColumn(); }
public static long getColumnOrSuperColumnSize(ColumnOrSuperColumn columnOrSuperColumn) { if (columnOrSuperColumn == null) { return getNullSize(); } return getColumnSize(columnOrSuperColumn.getColumn()) + getSuperColumnSize(columnOrSuperColumn.getSuper_column()) + getCounterColumnSize(columnOrSuperColumn.getCounter_column()) + getCounterSuperColumnSize(columnOrSuperColumn.getCounter_super_column()); }
private static List<Column> getColumnList(List<ColumnOrSuperColumn> columns) { ArrayList<Column> list = new ArrayList<Column>(columns.size()); for (ColumnOrSuperColumn col : columns) { list.add(col.getColumn()); } return list; }
/** * Converts a list of ColumnOrSuperColumn to Column * @param columns * @return */ public static List<Column> getColumnList(List<ColumnOrSuperColumn> columns) { ArrayList<Column> list = new ArrayList<Column>(columns.size()); for (ColumnOrSuperColumn col : columns) { list.add(col.getColumn()); } return list; }
private void applyToRow(List<ColumnOrSuperColumn> cosclist) { hasEntries = cosclist.size() > 0; for (Iterator<ColumnOrSuperColumn> iterator = cosclist.iterator(); iterator.hasNext();) { ColumnOrSuperColumn cosc = iterator.next(); if ( cosc.isSetSuper_column() ) { applySuper(cosc); } else { applyStandard(cosc.getColumn()); } iterator.remove(); } }
private void applyToRow(List<ColumnOrSuperColumn> cosclist) { hasEntries = cosclist.size() > 0; for (Iterator<ColumnOrSuperColumn> iterator = cosclist.iterator(); iterator.hasNext();) { ColumnOrSuperColumn cosc = iterator.next(); if ( cosc.isSetSuper_column() ) { applySuper(cosc); } else { applyStandard(cosc.getColumn()); } iterator.remove(); } }
public static long getColumnOrSuperColumnSize(ColumnOrSuperColumn columnOrSuperColumn) { if (columnOrSuperColumn == null) { return getNullSize(); } return getColumnSize(columnOrSuperColumn.getColumn()) + getSuperColumnSize(columnOrSuperColumn.getSuper_column()) + getCounterColumnSize(columnOrSuperColumn.getCounter_column()) + getCounterSuperColumnSize(columnOrSuperColumn.getCounter_super_column()); }