public class MapRDBFunctionalIndexInfo extends Object implements FunctionalIndexInfo
Constructor and Description |
---|
MapRDBFunctionalIndexInfo(IndexDescriptor indexDesc) |
Modifier and Type | Method and Description |
---|---|
Set<SchemaPath> |
allNewSchemaPaths() |
Set<SchemaPath> |
allPathsInFunction() |
Map<LogicalExpression,LogicalExpression> |
getExprMap() |
IndexDescriptor |
getIndexDesc() |
SchemaPath |
getNewPath(SchemaPath path)
getNewPath: for an original path, return new rename '$N' path, notice there could be multiple renamed paths
if the there are multiple functional indexes refer original path.
|
SchemaPath |
getNewPathFromExpr(LogicalExpression expr)
return a plain field path if the incoming index expression 'expr' is replaced to be a plain field
|
Map<LogicalExpression,Set<SchemaPath>> |
getPathsInFunctionExpr()
Suppose the index key has functions (rather than plain columns): CAST(a as int), CAST(b as varchar(10)),
then we want to maintain a mapping of the logical expression of that function to the schema path of the
base column involved in the function.
|
boolean |
hasFunctional() |
boolean |
supportEqualCharConvertToLike()
Whether this implementation( may be different per storage) support rewrite rewriting varchar equality expression,
e.g.
|
public MapRDBFunctionalIndexInfo(IndexDescriptor indexDesc)
public boolean hasFunctional()
hasFunctional
in interface FunctionalIndexInfo
public IndexDescriptor getIndexDesc()
getIndexDesc
in interface FunctionalIndexInfo
public SchemaPath getNewPath(SchemaPath path)
getNewPath
in interface FunctionalIndexInfo
path
- public SchemaPath getNewPathFromExpr(LogicalExpression expr)
getNewPathFromExpr
in interface FunctionalIndexInfo
expr
- suppose to be an indexed expressionpublic Map<LogicalExpression,Set<SchemaPath>> getPathsInFunctionExpr()
getPathsInFunctionExpr
in interface FunctionalIndexInfo
public Map<LogicalExpression,LogicalExpression> getExprMap()
getExprMap
in interface FunctionalIndexInfo
public Set<SchemaPath> allNewSchemaPaths()
allNewSchemaPaths
in interface FunctionalIndexInfo
public Set<SchemaPath> allPathsInFunction()
allPathsInFunction
in interface FunctionalIndexInfo
public boolean supportEqualCharConvertToLike()
FunctionalIndexInfo
supportEqualCharConvertToLike
in interface FunctionalIndexInfo
Copyright © 1970 The Apache Software Foundation. All rights reserved.