/** * Register a new function. * * @param function the function. */ public void register( CallableUserFunction function, boolean overrideCurrentImplementation ) throws ProcedureException { UserFunctionSignature signature = function.signature(); QualifiedName name = signature.name(); CallableUserFunction oldImplementation = functions.get( name ); if ( oldImplementation == null ) { functions.put( name, function, signature.caseInsensitive() ); } else { if ( overrideCurrentImplementation ) { functions.put( name, function, signature.caseInsensitive() ); } else { throw new ProcedureException( Status.Procedure.ProcedureRegistrationFailed, "Unable to register function, because the name `%s` is already in use.", name ); } } }
/** * Register a new function. * * @param function the function. */ public void register( CallableUserAggregationFunction function, boolean overrideCurrentImplementation ) throws ProcedureException { UserFunctionSignature signature = function.signature(); QualifiedName name = signature.name(); CallableUserFunction oldImplementation = functions.get( name ); if ( oldImplementation == null ) { aggregationFunctions.put( name, function, signature.caseInsensitive() ); } else { if ( overrideCurrentImplementation ) { aggregationFunctions.put( name, function, signature.caseInsensitive() ); } else { throw new ProcedureException( Status.Procedure.ProcedureRegistrationFailed, "Unable to register aggregation function, because the name `%s` is already in use.", name ); } } }
/** * Register a new function. * * @param function the function. */ public void register( CallableUserAggregationFunction function, boolean overrideCurrentImplementation ) throws ProcedureException { UserFunctionSignature signature = function.signature(); QualifiedName name = signature.name(); CallableUserFunction oldImplementation = functions.get( name ); if ( oldImplementation == null ) { aggregationFunctions.put( name, function, signature.caseInsensitive() ); } else { if ( overrideCurrentImplementation ) { aggregationFunctions.put( name, function, signature.caseInsensitive() ); } else { throw new ProcedureException( Status.Procedure.ProcedureRegistrationFailed, "Unable to register aggregation function, because the name `%s` is already in use.", name ); } } }
/** * Register a new function. * * @param function the function. */ public void register( CallableUserFunction function, boolean overrideCurrentImplementation ) throws ProcedureException { UserFunctionSignature signature = function.signature(); QualifiedName name = signature.name(); CallableUserFunction oldImplementation = functions.get( name ); if ( oldImplementation == null ) { functions.put( name, function, signature.caseInsensitive() ); } else { if ( overrideCurrentImplementation ) { functions.put( name, function, signature.caseInsensitive() ); } else { throw new ProcedureException( Status.Procedure.ProcedureRegistrationFailed, "Unable to register function, because the name `%s` is already in use.", name ); } } }