com.bigdata.relation.rule.eval.pipeline
Class JoinTask.ChunkTask

java.lang.Object
  extended by com.bigdata.relation.rule.eval.pipeline.JoinTask.ChunkTask
All Implemented Interfaces:
Callable<Boolean>
Enclosing class:
JoinTask

protected class JoinTask.ChunkTask
extends Object
implements Callable<Boolean>

Task processes a chunk of elements read from the IAccessPath for a join dimension. Each element in the chunk in paired with a copy of the given bindings. If that IBindingSet is accepted by the IRule, then the IBindingSet will be output. The IBindingSets to be output are buffered into chunks and the chunks added to the JoinPipelineTask#bindingSetBuffers for the corresponding predicate.

Version:
$Id: JoinTask.java 3454 2010-08-20 19:00:43Z thompsonbry $
Author:
Bryan Thompson

Constructor Summary
JoinTask.ChunkTask(IBindingSet[] bindingSet, AbstractUnsynchronizedArrayBuffer<IBindingSet> unsyncBuffer, Object[] chunk)
           
 
Method Summary
 Boolean call()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinTask.ChunkTask

public JoinTask.ChunkTask(IBindingSet[] bindingSet,
                          AbstractUnsynchronizedArrayBuffer<IBindingSet> unsyncBuffer,
                          Object[] chunk)
Parameters:
bindingSet - The bindings with which the each element in the chunk will be paired to create the bindings for the downstream join dimension.
unsyncBuffer - A per-Thread buffer used to accumulate chunks of generated IBindingSets (optional). When the JoinTask.ChunkTask will be run in its own thread, pass null and the buffer will be obtained in call().
chunk - A chunk of elements read from the IAccessPath for the current join dimension.
Method Detail

call

public Boolean call()
             throws Exception
Specified by:
call in interface Callable<Boolean>
Returns:
true iff NO elements in the chunk (as read from the access path by the caller) were accepted when combined with the bindingSets from the source JoinTask.
Throws:
BufferClosedException - if there is an attempt to output a chunk of IBindingSets or ISolutions and the output buffer is an IBlockingBuffer (true for all join dimensions exception the lastJoin and also true for query on the lastJoin) and that IBlockingBuffer has been closed.
Exception


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.