Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
Public Member Functions | |
AggregateFunction (FunctionName fnName, ArrayList< Type > argTypes, Type retType, boolean hasVarArgs) | |
AggregateFunction (FunctionName fnName, List< Type > argTypes, Type retType, Type intermediateType, HdfsUri location, String updateFnSymbol, String initFnSymbol, String serializeFnSymbol, String mergeFnSymbol, String getValueFnSymbol, String removeFnSymbol, String finalizeFnSymbol) | |
String | getUpdateFnSymbol () |
String | getInitFnSymbol () |
String | getSerializeFnSymbol () |
String | getMergeFnSymbol () |
String | getGetValueFnSymbol () |
String | getRemoveFnSymbol () |
String | getFinalizeFnSymbol () |
boolean | ignoresDistinct () |
boolean | isAnalyticFn () |
boolean | isAggregateFn () |
boolean | returnsNonNullOnEmpty () |
Type | getIntermediateType () |
void | setUpdateFnSymbol (String fn) |
void | setInitFnSymbol (String fn) |
void | setSerializeFnSymbol (String fn) |
void | setMergeFnSymbol (String fn) |
void | setGetValueFnSymbol (String fn) |
void | setRemoveFnSymbol (String fn) |
void | setFinalizeFnSymbol (String fn) |
void | setIntermediateType (Type t) |
TFunction | toThrift () |
FunctionName | getFunctionName () |
String | functionName () |
String | dbName () |
Type | getReturnType () |
Type[] | getArgs () |
int | getNumArgs () |
HdfsUri | getLocation () |
TFunctionBinaryType | getBinaryType () |
boolean | hasVarArgs () |
boolean | userVisible () |
Type | getVarArgsType () |
void | setName (FunctionName name) |
void | setLocation (HdfsUri loc) |
void | setBinaryType (TFunctionBinaryType type) |
void | setHasVarArgs (boolean v) |
void | setUserVisible (boolean b) |
String | signatureString () |
boolean | equals (Object o) |
boolean | compare (Function other, CompareMode mode) |
Function | promoteCharsToStrings () |
Function | selectClosestSuperType (List< Function > candidates) |
TCatalogObjectType | getCatalogObjectType () |
long | getCatalogVersion () |
void | setCatalogVersion (long newVersion) |
String | getName () |
boolean | isLoaded () |
String | lookupSymbol (String symbol, TSymbolType symbolType, Type retArgType, boolean hasVarArgs, Type...argTypes) throws AnalysisException |
String | lookupSymbol (String symbol, TSymbolType symbolType) throws AnalysisException |
Static Public Member Functions | |
static AggregateFunction | createBuiltin (Db db, String name, List< Type > argTypes, Type retType, Type intermediateType, String initFnSymbol, String updateFnSymbol, String mergeFnSymbol, String serializeFnSymbol, String finalizeFnSymbol, boolean ignoresDistinct, boolean isAnalyticFn, boolean returnsNonNullOnEmpty) |
static AggregateFunction | createBuiltin (Db db, String name, List< Type > argTypes, Type retType, Type intermediateType, String initFnSymbol, String updateFnSymbol, String mergeFnSymbol, String serializeFnSymbol, String getValueFnSymbol, String removeFnSymbol, String finalizeFnSymbol, boolean ignoresDistinct, boolean isAnalyticFn, boolean returnsNonNullOnEmpty) |
static AggregateFunction | createAnalyticBuiltin (Db db, String name, List< Type > argTypes, Type retType, Type intermediateType) |
static AggregateFunction | createAnalyticBuiltin (Db db, String name, List< Type > argTypes, Type retType, Type intermediateType, String initFnSymbol, String updateFnSymbol, String removeFnSymbol, String getValueFnSymbol, String finalizeFnSymbol) |
static AggregateFunction | createAnalyticBuiltin (Db db, String name, List< Type > argTypes, Type retType, Type intermediateType, String initFnSymbol, String updateFnSymbol, String removeFnSymbol, String getValueFnSymbol, String finalizeFnSymbol, boolean isUserVisible) |
static Function | fromThrift (TFunction fn) |
static String | getUdfType (Type t) |
Private Attributes | |
Type | intermediateType_ |
String | updateFnSymbol_ |
String | initFnSymbol_ |
String | serializeFnSymbol_ |
String | mergeFnSymbol_ |
String | getValueFnSymbol_ |
String | removeFnSymbol_ |
String | finalizeFnSymbol_ |
boolean | ignoresDistinct_ |
boolean | isAnalyticFn_ |
boolean | isAggregateFn_ |
boolean | returnsNonNullOnEmpty_ |
Static Private Attributes | |
static String | BE_BUILTINS_CLASS = "AggregateFunctions" |
Internal representation of an aggregate function. TODO: Create separate AnalyticFunction class
Definition at line 30 of file AggregateFunction.java.
|
inline |
Definition at line 69 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.createAnalyticBuiltin(), and com.cloudera.impala.catalog.AggregateFunction.createBuiltin().
|
inline |
Definition at line 74 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.finalizeFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.getValueFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.ignoresDistinct_, com.cloudera.impala.catalog.AggregateFunction.initFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.intermediateType_, com.cloudera.impala.catalog.AggregateFunction.isAggregateFn_, com.cloudera.impala.catalog.AggregateFunction.isAnalyticFn_, com.cloudera.impala.catalog.AggregateFunction.mergeFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.removeFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.returnsNonNullOnEmpty_, com.cloudera.impala.catalog.AggregateFunction.serializeFnSymbol_, com.cloudera.impala.catalog.Function.setLocation(), and com.cloudera.impala.catalog.AggregateFunction.updateFnSymbol_.
|
inlineinherited |
Definition at line 157 of file Function.java.
References com.cloudera.impala.catalog.Function.isIdentical(), com.cloudera.impala.catalog.Function.isIndistinguishable(), and com.cloudera.impala.catalog.Function.isSuperTypeOf().
Referenced by com.cloudera.impala.catalog.Function.equals().
|
inlinestatic |
Definition at line 123 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.createAnalyticBuiltin().
|
inlinestatic |
Definition at line 129 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.createAnalyticBuiltin().
|
inlinestatic |
Definition at line 138 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.Db.getName(), and impala.name.
|
inlinestatic |
Definition at line 95 of file AggregateFunction.java.
|
inlinestatic |
Definition at line 105 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.Db.getName(), com.cloudera.impala.catalog.AggregateFunction.ignoresDistinct(), com.cloudera.impala.catalog.AggregateFunction.isAnalyticFn(), impala.name, and com.cloudera.impala.catalog.AggregateFunction.returnsNonNullOnEmpty().
|
inlineinherited |
|
inlineinherited |
Definition at line 151 of file Function.java.
References com.cloudera.impala.catalog.Function.compare(), and com.cloudera.impala.catalog.Function.CompareMode.IS_IDENTICAL.
|
inlinestaticinherited |
Definition at line 308 of file Function.java.
References com.cloudera.impala.analysis.FunctionName.fromThrift(), com.cloudera.impala.catalog.Type.fromThrift(), and com.cloudera.impala.catalog.Function.Function().
|
inlineinherited |
Definition at line 116 of file Function.java.
Referenced by com.cloudera.impala.service.MetadataOp.createFunctionResultRow(), and com.cloudera.impala.catalog.Db.removeFunction().
|
inlineinherited |
Definition at line 119 of file Function.java.
References com.cloudera.impala.catalog.Function.argTypes_.
Referenced by com.cloudera.impala.catalog.ScalarFunction.createBuiltin().
|
inlineinherited |
Definition at line 123 of file Function.java.
References com.cloudera.impala.catalog.Function.binaryType_.
Referenced by com.cloudera.impala.analysis.FunctionCallExpr.analyze().
|
inlineinherited |
Implements com.cloudera.impala.catalog.CatalogObject.
Definition at line 283 of file Function.java.
|
inlineinherited |
Implements com.cloudera.impala.catalog.CatalogObject.
Definition at line 286 of file Function.java.
References com.cloudera.impala.catalog.Function.catalogVersion_.
Referenced by com.cloudera.impala.catalog.ImpaladCatalog.addFunction(), and com.cloudera.impala.catalog.ImpaladCatalog.removeFunction().
|
inline |
Definition at line 160 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.finalizeFnSymbol_.
|
inlineinherited |
Definition at line 115 of file Function.java.
References com.cloudera.impala.catalog.Function.name_.
Referenced by com.cloudera.impala.catalog.CatalogServiceCatalog.addFunction(), and com.cloudera.impala.catalog.Function.getName().
|
inline |
Definition at line 158 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.getValueFnSymbol_.
|
inline |
Definition at line 155 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.initFnSymbol_.
|
inline |
Returns the intermediate type of this aggregate function or null if it is identical to the return type.
Definition at line 170 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.intermediateType_.
|
inlineinherited |
Definition at line 122 of file Function.java.
References com.cloudera.impala.catalog.Function.location_.
|
inline |
Definition at line 157 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.mergeFnSymbol_.
|
inlineinherited |
Implements com.cloudera.impala.catalog.CatalogObject.
Definition at line 292 of file Function.java.
References com.cloudera.impala.catalog.Function.getFunctionName().
|
inlineinherited |
Definition at line 121 of file Function.java.
Referenced by com.cloudera.impala.analysis.CreateUdaStmt.analyze(), com.cloudera.impala.catalog.Function.isIndistinguishable(), and com.cloudera.impala.analysis.Expr.treeToThriftHelper().
|
inline |
Definition at line 159 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.removeFnSymbol_.
|
inlineinherited |
Definition at line 118 of file Function.java.
References com.cloudera.impala.catalog.Function.retType_.
Referenced by com.cloudera.impala.analysis.CreateUdaStmt.analyze(), com.cloudera.impala.catalog.AggregateFunction.toThrift(), and com.cloudera.impala.catalog.Function.toThrift().
|
inline |
Definition at line 156 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.serializeFnSymbol_.
|
inlinestaticinherited |
Definition at line 401 of file Function.java.
References com.cloudera.impala.catalog.Type.getPrimitiveType().
|
inline |
Definition at line 154 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.updateFnSymbol_.
|
inlineinherited |
Definition at line 126 of file Function.java.
References com.cloudera.impala.catalog.Function.argTypes_, com.cloudera.impala.catalog.Function.hasVarArgs_, and com.cloudera.impala.catalog.Type.INVALID.
Referenced by com.cloudera.impala.catalog.Function.isIndistinguishable().
|
inlineinherited |
Definition at line 124 of file Function.java.
References com.cloudera.impala.catalog.Function.hasVarArgs_.
Referenced by com.cloudera.impala.analysis.CreateUdaStmt.analyze(), com.cloudera.impala.catalog.Function.lookupSymbol(), and com.cloudera.impala.analysis.Expr.treeToThriftHelper().
|
inline |
Definition at line 161 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.ignoresDistinct_.
Referenced by com.cloudera.impala.analysis.FunctionCallExpr.analyze(), and com.cloudera.impala.catalog.AggregateFunction.createBuiltin().
|
inline |
Definition at line 163 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.isAggregateFn_.
|
inline |
Definition at line 162 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.isAnalyticFn_.
Referenced by com.cloudera.impala.catalog.AggregateFunction.createBuiltin().
|
inlineinherited |
Implements com.cloudera.impala.catalog.CatalogObject.
Definition at line 342 of file Function.java.
|
inlineinherited |
Definition at line 348 of file Function.java.
References com.cloudera.impala.catalog.Function.binaryType_, com.cloudera.impala.analysis.HdfsUri.getLocation(), com.cloudera.impala.catalog.Function.hasVarArgs(), and com.cloudera.impala.catalog.Function.location_.
Referenced by com.cloudera.impala.catalog.Function.lookupSymbol().
|
inlineinherited |
Definition at line 394 of file Function.java.
References com.cloudera.impala.catalog.Function.lookupSymbol().
|
inlineinherited |
Converts any CHAR arguments to be STRING arguments
Definition at line 200 of file Function.java.
References com.cloudera.impala.catalog.PrimitiveType.CHAR, com.cloudera.impala.catalog.Function.Function(), com.cloudera.impala.catalog.Function.hasVarArgs_, com.cloudera.impala.catalog.Function.name_, com.cloudera.impala.catalog.Function.retType_, and com.cloudera.impala.catalog.Type.STRING.
Referenced by com.cloudera.impala.catalog.Function.selectClosestSuperType().
|
inline |
Definition at line 164 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.returnsNonNullOnEmpty_.
Referenced by com.cloudera.impala.catalog.AggregateFunction.createBuiltin().
|
inlineinherited |
Given a list of functions which are a super type of this function, select the best match. This is the one which requires the fewest type promotions.
Definition at line 212 of file Function.java.
References com.cloudera.impala.catalog.Function.isIndistinguishable(), and com.cloudera.impala.catalog.Function.promoteCharsToStrings().
|
inlineinherited |
Definition at line 134 of file Function.java.
References com.cloudera.impala.catalog.Function.binaryType_.
|
inlineinherited |
Implements com.cloudera.impala.catalog.CatalogObject.
Definition at line 289 of file Function.java.
References com.cloudera.impala.catalog.Function.catalogVersion_.
|
inline |
Definition at line 177 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.finalizeFnSymbol_.
|
inline |
Definition at line 175 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.getValueFnSymbol_.
|
inlineinherited |
Definition at line 135 of file Function.java.
References com.cloudera.impala.catalog.Function.hasVarArgs_.
|
inline |
Definition at line 172 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.initFnSymbol_.
|
inline |
Definition at line 178 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.intermediateType_.
|
inlineinherited |
Definition at line 133 of file Function.java.
References com.cloudera.impala.catalog.Function.location_.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), and com.cloudera.impala.catalog.ScalarFunction.ScalarFunction().
|
inline |
Definition at line 174 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.mergeFnSymbol_.
|
inlineinherited |
Definition at line 132 of file Function.java.
References impala.name, and com.cloudera.impala.catalog.Function.name_.
|
inline |
Definition at line 176 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.removeFnSymbol_.
|
inline |
Definition at line 173 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.serializeFnSymbol_.
|
inline |
Definition at line 171 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.updateFnSymbol_.
|
inlineinherited |
Definition at line 136 of file Function.java.
References com.cloudera.impala.catalog.Function.userVisible_.
|
inlineinherited |
Definition at line 140 of file Function.java.
References com.cloudera.impala.catalog.Function.argTypes_, and com.cloudera.impala.catalog.Function.hasVarArgs_.
Referenced by com.cloudera.impala.analysis.CreateFunctionStmtBase.analyze(), com.cloudera.impala.service.MetadataOp.createFunctionResultRow(), com.cloudera.impala.service.CatalogOpExecutor.dropFunction(), com.cloudera.impala.service.Frontend.getFunctions(), and com.cloudera.impala.catalog.Function.toThrift().
|
inline |
Definition at line 181 of file AggregateFunction.java.
References com.cloudera.impala.catalog.AggregateFunction.finalizeFnSymbol_, com.cloudera.impala.catalog.Function.getReturnType(), com.cloudera.impala.catalog.AggregateFunction.getValueFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.ignoresDistinct_, com.cloudera.impala.catalog.AggregateFunction.initFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.intermediateType_, com.cloudera.impala.catalog.AggregateFunction.mergeFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.removeFnSymbol_, com.cloudera.impala.catalog.AggregateFunction.serializeFnSymbol_, and com.cloudera.impala.catalog.AggregateFunction.updateFnSymbol_.
|
inlineinherited |
Definition at line 125 of file Function.java.
References com.cloudera.impala.catalog.Function.userVisible_.
Referenced by com.cloudera.impala.analysis.FunctionCallExpr.analyze(), and com.cloudera.impala.catalog.ScalarFunction.createBuiltin().
|
staticprivate |
Definition at line 44 of file AggregateFunction.java.
|
private |
Definition at line 42 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getFinalizeFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setFinalizeFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 40 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getGetValueFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setGetValueFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 50 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.ignoresDistinct(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 37 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getInitFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setInitFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 32 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getIntermediateType(), com.cloudera.impala.catalog.AggregateFunction.setIntermediateType(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 60 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), and com.cloudera.impala.catalog.AggregateFunction.isAggregateFn().
|
private |
Definition at line 57 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), and com.cloudera.impala.catalog.AggregateFunction.isAnalyticFn().
|
private |
Definition at line 39 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getMergeFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setMergeFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 41 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getRemoveFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setRemoveFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 67 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), and com.cloudera.impala.catalog.AggregateFunction.returnsNonNullOnEmpty().
|
private |
Definition at line 38 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getSerializeFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setSerializeFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().
|
private |
Definition at line 36 of file AggregateFunction.java.
Referenced by com.cloudera.impala.catalog.AggregateFunction.AggregateFunction(), com.cloudera.impala.catalog.AggregateFunction.getUpdateFnSymbol(), com.cloudera.impala.catalog.AggregateFunction.setUpdateFnSymbol(), and com.cloudera.impala.catalog.AggregateFunction.toThrift().