net.sf.farrago.fennel
Class FennelDynamicParamId
java.lang.Object
net.sf.farrago.fennel.FennelDynamicParamId
public class FennelDynamicParamId
- extends Object
FennelDynamicParamId is an opaque type for the 32-bit integers used to
uniquely identify dynamic parameters within a FennelStreamGraph
.
Fennel dynamic parameters may be used to implement user-level dynamic
parameters (represented as question marks in SQL text); they may also be
generated internally by the optimizer as part of physical implementation. In
the latter case, they are used for out-of-band communication between
ExecStreams which cannot be expressed via the usual producer/consumer
dataflow mechanisms (e.g. when the streams are not adjacent, or when
communication is required from consumer back to producer).
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/fennel/FennelDynamicParamId.java#8 $
- Author:
- John V. Sichi
Nested Class Summary |
static class |
FennelDynamicParamId.StreamType
Indicates whether a stream that accesses a dynamic parameter produces or
consumes the dynamic parameter |
id
private final int id
producerStream
private FemExecutionStreamDef producerStream
consumerStream
private FemExecutionStreamDef consumerStream
FennelDynamicParamId
public FennelDynamicParamId(int id)
FennelDynamicParamId
public FennelDynamicParamId(int id,
FemExecutionStreamDef streamDef,
FennelDynamicParamId.StreamType streamType)
intValue
public int intValue()
- Returns:
- the underlying int value
associateStream
public void associateStream(FemExecutionStreamDef streamDef,
FennelDynamicParamId.StreamType streamType)
- Associates a stream with the dynamic parameter. The stream either
produces or consumes the dynamic parameter.
- Parameters:
streamDef
- the streamstreamType
- whether the stream produces or consumes the parameter
getProducerStream
public FemExecutionStreamDef getProducerStream()
- Returns:
- the stream that produces this dynamic parameter
getConsumerStream
public FemExecutionStreamDef getConsumerStream()
- Returns:
- the stream that consumes this dynamic parameter
equals
public boolean equals(Object other)
- Overrides:
equals
in class Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object
toString
public String toString()
- Overrides:
toString
in class Object