net.sf.farrago.namespace.flatfile
Class FlatFileFennelRel
java.lang.Object
org.eigenbase.rel.AbstractRelNode
org.eigenbase.rel.TableAccessRelBase
net.sf.farrago.namespace.flatfile.FlatFileFennelRel
- All Implemented Interfaces:
- Cloneable, FennelRel, RelNode
public class FlatFileFennelRel
- extends TableAccessRelBase
- implements FennelRel
FlatFileFennelRel provides a flatfile implementation for TableAccessRel
with FennelRel.FENNEL_EXEC_CONVENTION
.
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/namespace/flatfile/FlatFileFennelRel.java#3 $
- Author:
- John Pham
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
childrenAccept, cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getChildExps, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, replaceInput, setCorrelVariable, toString |
Methods inherited from interface org.eigenbase.rel.RelNode |
childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraits, getVariablesStopped, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, registerCorrelVariable, replaceInput, setCorrelVariable |
LOG_DIR
public static final String LOG_DIR
- See Also:
- Constant Field Values
MAX_ROW_ERROR_TEXT_WIDTH
public static final int MAX_ROW_ERROR_TEXT_WIDTH
- See Also:
- Constant Field Values
columnSet
private FlatFileColumnSet columnSet
schemaType
private FlatFileParams.SchemaType schemaType
params
FlatFileParams params
FlatFileFennelRel
protected FlatFileFennelRel(FlatFileColumnSet columnSet,
RelOptCluster cluster,
RelOptConnection connection,
FlatFileParams.SchemaType schemaType,
FlatFileParams params)
FlatFileFennelRel
protected FlatFileFennelRel(FlatFileColumnSet columnSet,
RelOptCluster cluster,
RelOptConnection connection,
FlatFileParams.SchemaType schemaType,
FlatFileParams params,
RelDataType rowType)
implementFennelChild
public Object implementFennelChild(FennelRelImplementor implementor)
- Description copied from interface:
FennelRel
- Visits this relational expression as part of the implementation process.
Fennel relational expressions are implemented in a two-phase process:
first call this method, then call
FennelRel.toStreamDef(net.sf.farrago.query.FennelRelImplementor)
.
- Specified by:
implementFennelChild
in interface FennelRel
toStreamDef
public FemExecutionStreamDef toStreamDef(FennelRelImplementor implementor)
- Description copied from interface:
FennelRel
- Converts this relational expression to
FemExecutionStreamDef
form. In the process, the relational expression will almost certainly
call FennelRelImplementor.visitFennelChild(net.sf.farrago.query.FennelRel, int)
on each of its
children.
- Specified by:
toStreamDef
in interface FennelRel
- Parameters:
implementor
- for generating Java code
- Returns:
- generated FemExecutionStreamDef
encodeChar
private String encodeChar(char c)
getCollations
public RelFieldCollation[] getCollations()
- Description copied from interface:
FennelRel
TODO: jhyde, 2006/3/28: unify with RelNode.getCollationList()
- Specified by:
getCollations
in interface FennelRel
- Returns:
- the sort order produced by this FennelRel, or an empty array if
the output is not guaranteed to be in any particular order.
clone
public FlatFileFennelRel clone()
- Description copied from interface:
RelNode
- Clones this RelNode.
Traits of the RelNode must be explicitly cloned, using AbstractRelNode.inheritTraitsFrom(AbstractRelNode)
, as the RelNode may
have traits of which it has no knowledge. Example implementation:
public MyRelNode clone()
{
MyRelNode clone = new MyRelNode(...);
clone.inheritTraitsFrom(this);
return clone;
}
N.B.: This method must be overridden whenever an existing,
concrete RelNode is extended. Otherwise, calling clone() will produce a
differently typed RelNode, resulting in invalid or incorrect query plans.
- Specified by:
clone
in interface RelNode
- Overrides:
clone
in class TableAccessRelBase
- Returns:
- a clone of this RelNode