@Override public Bytes getRow() { return cs.getRow(); }
@Override public Bytes getRow() { return cs.getRow(); }
@Override public Bytes getCurrentKey() throws IOException, InterruptedException { return colScanner.getRow(); }
@Override public Bytes getCurrentKey() throws IOException, InterruptedException { return colScanner.getRow(); }
@Override public Bytes getRow() { return cs.getRow(); }
TracingColumnScanner(ColumnScanner cs, long txid, String scanId) { this.cs = cs; this.txid = txid; this.scanId = scanId; this.encRow = Hex.encNonAscii(cs.getRow()); }
TracingColumnScanner(ColumnScanner cs, long txid, String scanId) { this.cs = cs; this.txid = txid; this.scanId = scanId; this.encRow = Hex.encNonAscii(cs.getRow()); }
@Override public Iterator<ColumnValue> iterator() { return new RtxCVIterator(cs.getRow(), cs.iterator()); }
private BigInteger countBindingSets(final SnapshotBase sx, final String nodeId, final Column bindingSetColumn) { checkNotNull(sx); checkNotNull(nodeId); checkNotNull(bindingSetColumn); NodeType type = NodeType.fromNodeId(nodeId).get(); Bytes prefixBytes = Bytes.of(type.getNodeTypePrefix()); // Limit the scan to the binding set column and node id. final RowScanner rows = sx.scanner().over(Span.prefix(prefixBytes)).fetch(bindingSetColumn).byRow().build(); BigInteger count = BigInteger.valueOf(0L); for (ColumnScanner columns : rows) { String row = BindingSetRow.makeFromShardedRow(prefixBytes, columns.getRow()).getNodeId(); if (row.equals(nodeId)) { count = count.add(BigInteger.ONE); } } return count; }
private BigInteger countBindingSets(final SnapshotBase sx, final String nodeId, final Column bindingSetColumn) { checkNotNull(sx); checkNotNull(nodeId); checkNotNull(bindingSetColumn); NodeType type = NodeType.fromNodeId(nodeId).get(); Bytes prefixBytes = Bytes.of(type.getNodeTypePrefix()); // Limit the scan to the binding set column and node id. final RowScanner rows = sx.scanner().over(Span.prefix(prefixBytes)).fetch(bindingSetColumn).byRow().build(); BigInteger count = BigInteger.valueOf(0L); for (ColumnScanner columns : rows) { String row = BindingSetRow.makeFromShardedRow(prefixBytes, columns.getRow()).getNodeId(); if (row.equals(nodeId)) { count = count.add(BigInteger.ONE); } } return count; }
while (colScannerIter.hasNext() && !batchLimitMet) { final ColumnScanner colScanner = colScannerIter.next(); row = colScanner.getRow(); final Iterator<ColumnValue> iter = colScanner.iterator(); while (iter.hasNext() && !batchLimitMet) {
row = colScanner.getRow();
row = colScanner.getRow();
while (colScannerIter.hasNext() && !batchLimitMet) { final ColumnScanner colScanner = colScannerIter.next(); row = colScanner.getRow(); final Iterator<ColumnValue> iter = colScanner.iterator(); while (iter.hasNext() && !batchLimitMet) {
@Test public void testMultipleIteratorsFromSameRowScanner() { Set<RowColumnValue> expected = genData(); try (Snapshot snap = client.newSnapshot()) { RowScanner rowScanner = snap.scanner().byRow().build(); Iterator<ColumnScanner> iter1 = rowScanner.iterator(); Iterator<ColumnScanner> iter2 = rowScanner.iterator(); HashSet<RowColumnValue> actual1 = new HashSet<>(); HashSet<RowColumnValue> actual2 = new HashSet<>(); while (iter1.hasNext()) { ColumnScanner cs1 = iter1.next(); Assert.assertTrue(iter2.hasNext()); ColumnScanner cs2 = iter2.next(); for (ColumnValue cv : cs1) { actual1.add(new RowColumnValue(cs1.getRow(), cv.getColumn(), cv.getValue())); } for (ColumnValue cv : cs2) { actual2.add(new RowColumnValue(cs2.getRow(), cv.getColumn(), cv.getValue())); } } Assert.assertFalse(iter2.hasNext()); Assert.assertEquals(expected, actual1); Assert.assertEquals(expected, actual2); } }
while (colScannerIter.hasNext() && !batchLimitMet) { final ColumnScanner colScanner = colScannerIter.next(); row = colScanner.getRow(); final Iterator<ColumnValue> iter = colScanner.iterator(); while (iter.hasNext()) {
while (colScannerIter.hasNext() && !batchLimitMet) { final ColumnScanner colScanner = colScannerIter.next(); row = colScanner.getRow(); final Iterator<ColumnValue> iter = colScanner.iterator(); while (iter.hasNext()) {
private List<Bytes> getFluoTableEntries(final FluoClient fluoClient) { try (Snapshot snapshot = fluoClient.newSnapshot()) { final List<Bytes> rows = new ArrayList<>(); final RowScanner rscanner = snapshot.scanner().over(Span.prefix("")).byRow().build(); for(final ColumnScanner cscanner: rscanner) { rows.add(cscanner.getRow()); } return rows; } } }
private List<Bytes> getFluoTableEntries(final FluoClient fluoClient) { try (Snapshot snapshot = fluoClient.newSnapshot()) { final List<Bytes> rows = new ArrayList<>(); final RowScanner rscanner = snapshot.scanner().over(Span.prefix("")).byRow().build(); for (final ColumnScanner cscanner : rscanner) { rows.add(cscanner.getRow()); } return rows; } }
private int countResults(FluoClient fluoClient, String nodeId, Column bsColumn) { try (Transaction tx = fluoClient.newTransaction()) { int count = 0; Optional<NodeType> type = NodeType.fromNodeId(nodeId); Bytes prefixBytes = Bytes.of(type.get().getNodeTypePrefix()); RowScanner scanner = tx.scanner().over(Span.prefix(prefixBytes)).fetch(bsColumn).byRow().build(); Iterator<ColumnScanner> colScanners = scanner.iterator(); while (colScanners.hasNext()) { ColumnScanner colScanner = colScanners.next(); BindingSetRow bsRow = BindingSetRow.makeFromShardedRow(prefixBytes, colScanner.getRow()); if (bsRow.getNodeId().equals(nodeId)) { Iterator<ColumnValue> vals = colScanner.iterator(); while (vals.hasNext()) { vals.next(); count++; } } } tx.commit(); return count; } }