ScalarFunction and ScalarFunctionFactory C++ Interface

This section describes information that is specific to the C++ API. See UDSF Class Overview for general information about implementing the ScalarFunction and ScalarFunctionFactory classes.

ScalarFunction API

The API provides the following methods for extension by subclasses:

virtual void setup(ServerInterface &srvInterface, 
		const SizedColumnTypes &argTypes);
				
virtual void processBlock(ServerInterface &srvInterface, 
		BlockReader &arg_reader, BlockWriter &res_writer)=0;
				
virtual void destroy(ServerInterface &srvInterface, const SizedColumnTypes &argTypes);
		

ScalarFunctionFactory API

The API provides the following methods for extension by subclasses:

virtual ScalarFunction * createScalarFunction(ServerInterface &srvInterface)=0;
				
virtual void getPrototype(ServerInterface &srvInterface, 
		ColumnTypes &argTypes, ColumnTypes &returnType)=0;
				
virtual void getReturnType(ServerInterface &srvInterface, 
		const SizedColumnTypes &argTypes, SizedColumnTypes &returnType);
				
virtual void getParameterType(ServerInterface &srvInterface, 
		SizedColumnTypes &parameterTypes);