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 FunctionalIndexInfopublic IndexDescriptor getIndexDesc()
getIndexDesc in interface FunctionalIndexInfopublic SchemaPath getNewPath(SchemaPath path)
getNewPath in interface FunctionalIndexInfopath - public SchemaPath getNewPathFromExpr(LogicalExpression expr)
getNewPathFromExpr in interface FunctionalIndexInfoexpr - suppose to be an indexed expressionpublic Map<LogicalExpression,Set<SchemaPath>> getPathsInFunctionExpr()
getPathsInFunctionExpr in interface FunctionalIndexInfopublic Map<LogicalExpression,LogicalExpression> getExprMap()
getExprMap in interface FunctionalIndexInfopublic Set<SchemaPath> allNewSchemaPaths()
allNewSchemaPaths in interface FunctionalIndexInfopublic Set<SchemaPath> allPathsInFunction()
allPathsInFunction in interface FunctionalIndexInfopublic boolean supportEqualCharConvertToLike()
FunctionalIndexInfosupportEqualCharConvertToLike in interface FunctionalIndexInfoCopyright © 2021 The Apache Software Foundation. All rights reserved.