[
https://issues.apache.org/jira/browse/RYA-284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16043239#comment-16043239
]
ASF GitHub Bot commented on RYA-284:
------------------------------------
Github user amihalik commented on a diff in the pull request:
https://github.com/apache/incubator-rya/pull/169#discussion_r120970729
--- Diff:
dao/accumulo.rya/src/main/java/org/apache/rya/accumulo/query/AccumuloRyaQueryEngine.java
---
@@ -304,67 +311,73 @@ protected String getData(RyaType ryaType) {
// use range to set scanner
// populate scanner based on authorizations, ttl
- String table = layoutToTable(layout, tableLayoutStrategy);
- Scanner scanner = connector.createScanner(table,
authorizations);
+ final String table = layoutToTable(layout,
tableLayoutStrategy);
+ final Scanner scanner = connector.createScanner(table,
authorizations);
scanner.setRange(range);
if (batchSize != null) {
scanner.setBatchSize(batchSize);
}
fillScanner(scanner, context, qualifier, ttl, currentTime,
tripleRowRegex, ryaQuery.getConf());
- FluentCloseableIterable<RyaStatement> results =
FluentCloseableIterable.from(new ScannerBaseCloseableIterable(scanner))
-
.transform(keyValueToRyaStatementFunctionMap.get(layout));
+ FluentCloseableIterable<RyaStatement> results =
FluentCloseableIterable.from(new
ScannerBaseCloseableIterable(scanner)).transform(keyValueToRyaStatementFunctionMap.get(layout));
if (maxResults != null) {
results = results.limit(maxResults.intValue());
}
return results;
- } catch (Exception e) {
+ }
+ catch (final Exception e) {
throw new RyaDAOException(e);
}
}
@Override
public CloseableIterable<RyaStatement> query(BatchRyaQuery ryaQuery)
throws RyaDAOException {
Preconditions.checkNotNull(ryaQuery);
- Iterable<RyaStatement> stmts = ryaQuery.getQueries();
+ final Iterable<RyaStatement> stmts = ryaQuery.getQueries();
Preconditions.checkNotNull(stmts);
// query configuration
- String[] auths = ryaQuery.getAuths();
+ final String[] auths = ryaQuery.getAuths();
final Authorizations authorizations = auths != null ? new
Authorizations(auths) : configuration.getAuthorizations();
final Long ttl = ryaQuery.getTtl();
- Long currentTime = ryaQuery.getCurrentTime();
- Long maxResults = ryaQuery.getMaxResults();
- Integer batchSize = ryaQuery.getBatchSize();
- Integer numQueryThreads = ryaQuery.getNumQueryThreads();
- String regexSubject = ryaQuery.getRegexSubject();
- String regexPredicate = ryaQuery.getRegexPredicate();
- String regexObject = ryaQuery.getRegexObject();
- TableLayoutStrategy tableLayoutStrategy =
configuration.getTableLayoutStrategy();
- int maxRanges = ryaQuery.getMaxRanges();
+ final Long currentTime = ryaQuery.getCurrentTime();
+ final Long maxResults = ryaQuery.getMaxResults();
+ final Integer batchSize = ryaQuery.getBatchSize();
+ final Integer numQueryThreads = ryaQuery.getNumQueryThreads();
+ final String regexSubject = ryaQuery.getRegexSubject();
+ final String regexPredicate = ryaQuery.getRegexPredicate();
+ final String regexObject = ryaQuery.getRegexObject();
+ final TableLayoutStrategy tableLayoutStrategy =
configuration.getTableLayoutStrategy();
+ final int maxRanges = ryaQuery.getMaxRanges();
// TODO: cannot span multiple tables here
try {
- Collection<Range> ranges = new HashSet<Range>();
+ final Collection<Range> ranges = new HashSet<Range>();
+
TABLE_LAYOUT layout = null;
RyaURI context = null;
+
TriplePatternStrategy strategy = null;
- for (RyaStatement stmt : stmts) {
+ for (final RyaStatement stmt : stmts) {
context = stmt.getContext(); // TODO: This will be
overwritten
strategy = ryaContext.retrieveStrategy(stmt);
if (strategy == null) {
throw new IllegalArgumentException("TriplePattern[" +
stmt + "] not supported");
}
- Map.Entry<RdfCloudTripleStoreConstants.TABLE_LAYOUT,
ByteRange> entry = strategy.defineRange(stmt.getSubject(),
- stmt.getPredicate(), stmt.getObject(),
stmt.getContext(), null);
+ final Map.Entry<RdfCloudTripleStoreConstants.TABLE_LAYOUT,
ByteRange> entry = strategy.defineRange(stmt.getSubject(), stmt.getPredicate(),
stmt.getObject(), stmt.getContext(), null);
// use range to set scanner
// populate scanner based on authorizations, ttl
layout = entry.getKey();
- ByteRange byteRange = entry.getValue();
+ final ByteRange byteRange = entry.getValue();
+
Range range = new Range(new Text(byteRange.getStart()),
new Text(byteRange.getEnd()));
+ if ((stmt.getSubject() != null) && (stmt.getPredicate() !=
null) && (stmt.getObject() != null)) {
+ range = Range.exact(createText(byteRange.getStart(),
stmt.getObject()));
--- End diff --
does `byteRange.getStart()` ever have the type appended to it at this
point? (if so, then this won't work)
> Enhance accumulo.rya to support the use of bloom filter
> -------------------------------------------------------
>
> Key: RYA-284
> URL: https://issues.apache.org/jira/browse/RYA-284
> Project: Rya
> Issue Type: Improvement
> Components: dao
> Reporter: Tri H. Nguyen
> Assignee: Tri H. Nguyen
> Priority: Minor
>
> Enhancing accumulo.rya to take advantage of the use of bloom filter when
> enabled in accumulo
> Accumulo's Bloom Filter example
> https://accumulo.apache.org/1.8/examples/bloom
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)