|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.relopt.RelOptRule com.lucidera.opt.LoptIterCalcRule
public abstract class LoptIterCalcRule
LoptIterCalcRule decorates an IterCalcRel with an error handling tag, according to the LucidDb requirements.
Nested Class Summary | |
---|---|
private static class |
LoptIterCalcRule.CartesianJoinRule
A rule for tagging a calculator on top of a cartesian product join. |
private static class |
LoptIterCalcRule.DefaultRule
A default rule for tagging any calculator |
private static class |
LoptIterCalcRule.HashJoinRule
A rule for tagging a calculator on top of a hash join. |
private static class |
LoptIterCalcRule.JavaUdxRule
A rule for tagging a calculator on top of a Java UDX |
private static class |
LoptIterCalcRule.JdbcQueryRule
A rule for tagging a calculator on top of a JDBC query |
private static class |
LoptIterCalcRule.LcsRowScanRule
A rule for tagging a calculator on top of a column store row scan. |
private static class |
LoptIterCalcRule.NestedLoopJoinRule
A rule for tagging a calculator on top of a nested loop join. |
private static class |
LoptIterCalcRule.TableAccessRule
A rule for tagging a calculator on top of a table scan. |
private static class |
LoptIterCalcRule.TableAppendRule
A rule for tagging a calculator beneath a table modification. |
private static class |
LoptIterCalcRule.TableDeleteRule
A rule for tagging a calculator beneath a table modification. |
private static class |
LoptIterCalcRule.TableMergeRule
A rule for tagging a calculator beneath a table modification. |
Field Summary | |
---|---|
static String |
CARTESIAN_JOIN_PREFIX
|
static LoptIterCalcRule |
cartesianJoinInstance
|
static LoptIterCalcRule |
defaultInstance
|
static String |
HASH_JOIN_PREFIX
|
static LoptIterCalcRule |
hashJoinInstance
|
static String |
JAVA_UDX_PREFIX
|
static LoptIterCalcRule |
javaUdxInstance
|
static String |
JDBC_QUERY_PREFIX
|
static LoptIterCalcRule |
jdbcQueryInstance
|
static String |
LCS_ROWSCAN_PREFIX
|
static LoptIterCalcRule |
lcsAppendInstance
|
static LoptIterCalcRule |
lcsDeleteInstance
|
static LoptIterCalcRule |
lcsMergeInstance
|
static LoptIterCalcRule |
lcsRowScanInstance
|
static LoptIterCalcRule |
nestedLoopJoinInstance
|
static String |
NLJ_PREFIX
|
static String |
TABLE_ACCESS_PREFIX
|
static String |
TABLE_APPEND_PREFIX
|
static String |
TABLE_DELETE_PREFIX
|
static String |
TABLE_MERGE_PREFIX
|
static LoptIterCalcRule |
tableAccessInstance
|
Fields inherited from class org.eigenbase.relopt.RelOptRule |
---|
ANY, description, operands |
Constructor Summary | |
---|---|
LoptIterCalcRule(RelOptRuleOperand operand)
Constructs a new LoptIterCalcRule |
Method Summary | |
---|---|
protected String |
getDefaultTag(IterCalcRel rel)
Gets the default tag for an IterCalcRel, based upon its id. |
protected String |
getTableTag(String action,
String[] qualifiedName,
RelNode rel)
Gets a tag corresponding to a table name. |
protected IterCalcRel |
replaceTag(IterCalcRel calc,
String tag)
Sets the tag of an IterCalcRel to the specified tag |
protected IteratorToFennelConverter |
replaceTagAsFennel(IteratorToFennelConverter converter,
IterCalcRel calc,
String tag)
Replaces the tag of an IterCalcRel underneath an IteratorToFennelConverter. |
protected void |
setIterCalcTypeMap(FennelRel rel,
String tag)
|
protected void |
transformToTag(RelOptRuleCall call,
IterCalcRel calc,
String tag)
Transform call to an IterCalcRel with a replaced tag |
Methods inherited from class org.eigenbase.relopt.RelOptRule |
---|
convert, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, onMatch, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static LoptIterCalcRule tableAccessInstance
public static LoptIterCalcRule lcsRowScanInstance
public static LoptIterCalcRule jdbcQueryInstance
public static LoptIterCalcRule javaUdxInstance
public static LoptIterCalcRule lcsAppendInstance
public static LoptIterCalcRule lcsMergeInstance
public static LoptIterCalcRule lcsDeleteInstance
public static LoptIterCalcRule hashJoinInstance
public static LoptIterCalcRule nestedLoopJoinInstance
public static LoptIterCalcRule cartesianJoinInstance
public static LoptIterCalcRule defaultInstance
public static final String TABLE_ACCESS_PREFIX
public static final String LCS_ROWSCAN_PREFIX
public static final String JDBC_QUERY_PREFIX
public static final String JAVA_UDX_PREFIX
public static final String TABLE_APPEND_PREFIX
public static final String TABLE_MERGE_PREFIX
public static final String TABLE_DELETE_PREFIX
public static final String HASH_JOIN_PREFIX
public static final String NLJ_PREFIX
public static final String CARTESIAN_JOIN_PREFIX
Constructor Detail |
---|
public LoptIterCalcRule(RelOptRuleOperand operand)
Method Detail |
---|
protected void transformToTag(RelOptRuleCall call, IterCalcRel calc, String tag)
protected IterCalcRel replaceTag(IterCalcRel calc, String tag)
protected IteratorToFennelConverter replaceTagAsFennel(IteratorToFennelConverter converter, IterCalcRel calc, String tag)
protected String getTableTag(String action, String[] qualifiedName, RelNode rel)
action.table[.uniqueSuffix]
". The unique
suffix is appended when the table's relation is provided. The suffix has
a combination of the relation's runtime id and the current timestamp.
action
- an action such as "delete" or "merge"qualifiedName
- a qualified table namerel
- the relation accessing a table for read or write. If not null,
the relation is used to generate a unique suffix.protected String getDefaultTag(IterCalcRel rel)
rel
- the relation to build a tag forprotected void setIterCalcTypeMap(FennelRel rel, String tag)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |