unity.operators
Class DualHashTable
java.lang.Object
unity.operators.DualHashTable
public class DualHashTable
- extends java.lang.Object
Constructor Summary |
DualHashTable(int maxsize,
int numPart,
int bfr,
Relation left,
Relation right,
EquiJoinPredicate p,
boolean earlyDelete)
|
DualHashTable(int maxsize,
int numPart,
int bfr,
Relation left,
Relation right,
EquiJoinPredicate p,
boolean earlyDelete,
double scale)
|
Method Summary |
void |
addPartitionFileNames(int source,
int partIndex,
java.lang.String fname)
|
void |
clear()
|
void |
clear(int source,
int partitionIndex)
|
int |
clearLeftFinished()
|
int |
clearRightFinished()
|
int |
close(int state,
int timestamp)
|
void |
empty()
|
void |
flush(int source,
int partitionIndex,
int newState,
int timestamp)
|
void |
flush(int source,
int partitionIndex,
int newState,
int timestamp,
boolean flushSorted,
SortComparator sorter,
boolean departTS)
|
int |
getInsertsAvoided()
|
java.util.ArrayList |
getNonJoinedLeft()
|
java.util.ArrayList |
getNonJoinedRight()
|
int |
getNumFiles(int source,
int partIndex)
|
java.util.ArrayList |
getPartitionFileNames(int source,
int partIndex)
|
java.util.ArrayList |
getPartitionFlushTimes(int source,
int partIndex)
|
DualHashTable.PartitionInfo[] |
getPartitionInfo()
|
java.util.ArrayList |
getPartitionProbeTimes(int source,
int partIndex)
|
int |
getPartitionState(int source,
int partIndex)
|
int |
getPartitionTupleCount(int source,
int partIndex)
|
java.util.ArrayList |
getPartitionTuples(int source,
int partIndex)
|
int |
getTupleCount(int source)
|
int |
getTuplesDiscarded()
|
boolean |
hasOverflow()
|
int |
insert(Tuple t,
int source,
boolean NProbeMatch)
|
boolean |
leftSmaller()
|
static void |
main(java.lang.String[] args)
|
java.lang.String |
printTupleCounts()
|
java.util.ArrayList |
probe(Tuple probeTuple,
int probeSource)
|
void |
setLeftInputFinished(boolean b)
|
void |
setPartitionState(int source,
int partIndex,
int state)
|
void |
setRightInputFinished(boolean b)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
DEFAULT_LIST_SIZE
public static int DEFAULT_LIST_SIZE
IS_EXPANDING
public static int IS_EXPANDING
IS_FROZEN
public static int IS_FROZEN
IS_REBUILDING
public static int IS_REBUILDING
DualHashTable
public DualHashTable(int maxsize,
int numPart,
int bfr,
Relation left,
Relation right,
EquiJoinPredicate p,
boolean earlyDelete)
DualHashTable
public DualHashTable(int maxsize,
int numPart,
int bfr,
Relation left,
Relation right,
EquiJoinPredicate p,
boolean earlyDelete,
double scale)
insert
public int insert(Tuple t,
int source,
boolean NProbeMatch)
throws java.io.IOException
- Throws:
java.io.IOException
hasOverflow
public boolean hasOverflow()
probe
public java.util.ArrayList probe(Tuple probeTuple,
int probeSource)
throws java.io.IOException
- Throws:
java.io.IOException
flush
public void flush(int source,
int partitionIndex,
int newState,
int timestamp)
throws java.io.IOException
- Throws:
java.io.IOException
flush
public void flush(int source,
int partitionIndex,
int newState,
int timestamp,
boolean flushSorted,
SortComparator sorter,
boolean departTS)
throws java.io.IOException
- Throws:
java.io.IOException
close
public int close(int state,
int timestamp)
throws java.io.IOException
- Throws:
java.io.IOException
empty
public void empty()
clear
public void clear()
throws java.io.IOException
- Throws:
java.io.IOException
clear
public void clear(int source,
int partitionIndex)
throws java.io.IOException
- Throws:
java.io.IOException
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
printTupleCounts
public java.lang.String printTupleCounts()
leftSmaller
public boolean leftSmaller()
getPartitionInfo
public DualHashTable.PartitionInfo[] getPartitionInfo()
getTupleCount
public int getTupleCount(int source)
getPartitionTupleCount
public int getPartitionTupleCount(int source,
int partIndex)
getPartitionState
public int getPartitionState(int source,
int partIndex)
setPartitionState
public void setPartitionState(int source,
int partIndex,
int state)
getPartitionFileNames
public java.util.ArrayList getPartitionFileNames(int source,
int partIndex)
addPartitionFileNames
public void addPartitionFileNames(int source,
int partIndex,
java.lang.String fname)
getPartitionFlushTimes
public java.util.ArrayList getPartitionFlushTimes(int source,
int partIndex)
getPartitionProbeTimes
public java.util.ArrayList getPartitionProbeTimes(int source,
int partIndex)
getPartitionTuples
public java.util.ArrayList getPartitionTuples(int source,
int partIndex)
setLeftInputFinished
public void setLeftInputFinished(boolean b)
setRightInputFinished
public void setRightInputFinished(boolean b)
getNumFiles
public int getNumFiles(int source,
int partIndex)
clearLeftFinished
public int clearLeftFinished()
throws java.io.IOException
- Throws:
java.io.IOException
clearRightFinished
public int clearRightFinished()
throws java.io.IOException
- Throws:
java.io.IOException
getTuplesDiscarded
public int getTuplesDiscarded()
getInsertsAvoided
public int getInsertsAvoided()
main
public static void main(java.lang.String[] args)
throws java.io.IOException
- Throws:
java.io.IOException
getNonJoinedLeft
public java.util.ArrayList getNonJoinedLeft()
getNonJoinedRight
public java.util.ArrayList getNonJoinedRight()