Github user kchilton2 commented on a diff in the pull request:

    https://github.com/apache/incubator-rya/pull/251#discussion_r153271360
  
    --- Diff: 
extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/observers/TripleObserver.java
 ---
    @@ -70,53 +68,50 @@ public void process(final TransactionBase tx, final 
Bytes brow, final Column col
             // Get string representation of triple.
             final RyaStatement ryaStatement = 
IncUpdateDAO.deserializeTriple(brow);
             log.trace("Transaction ID: {}\nRya Statement: {}\n", 
tx.getStartTimestamp(), ryaStatement);
    +        log.trace("Beginging to process triple.");
     
             final String triple = IncUpdateDAO.getTripleString(ryaStatement);
     
    -        // Iterate over each of the Statement Patterns that are being 
matched against.
    -        final RowScanner spScanner = tx.scanner()
    -                .over(Span.prefix(SP_PREFIX))
    -
    -                // Only fetch rows that have the pattern in them. There 
will only be a single row with a pattern per SP.
    -                .fetch(FluoQueryColumns.STATEMENT_PATTERN_PATTERN)
    -                .byRow()
    -                .build();
    +        Set<String> spIDs = SP_ID_CACHE.getStatementPatternIds(tx);
     
             //see if triple matches conditions of any of the SP
    -        for (final ColumnScanner colScanner : spScanner) {
    -            // Get the Statement Pattern's node id.
    -            final String spID = colScanner.getsRow();
    -
    +        for (String spID: spIDs) {
                 // Fetch its metadata.
                 final StatementPatternMetadata spMetadata = 
QUERY_METADATA_DAO.readStatementPatternMetadata(tx, spID);
     
    +            log.trace("Retrieved metadata: {}", spMetadata);
    +
                 // Attempt to match the triple against the pattern.
                 final String pattern = spMetadata.getStatementPattern();
                 final VariableOrder varOrder = spMetadata.getVariableOrder();
                 final String bindingSetString = getBindingSet(triple, pattern, 
varOrder);
     
    +            log.trace("Created binding set match string: {}", 
bindingSetString);
    +
                 // Statement matches to a binding set.
                 if(bindingSetString.length() != 0) {
                     // Fetch the triple's visibility label.
                     final String visibility = tx.gets(brow.toString(), 
FluoQueryColumns.TRIPLES, "");
     
                     // Create the Row ID for the emitted binding set. It does 
not contain visibilities.
    -                final String row = spID + NODEID_BS_DELIM + 
bindingSetString;
    -                final Bytes rowBytes = Bytes.of( 
row.getBytes(Charsets.UTF_8) );
    +//                final String row = spID + NODEID_BS_DELIM + 
bindingSetString;
    --- End diff --
    
    Remove commented out code.


---

Reply via email to