skip to main content
Querying with OData Version 4 : Supported functionality for OData Version 4 : Stored functions support

Try Now

Stored functions support

Hybrid Data Pipeline supports DB2, Oracle, PostgreSQL, and SQL Server stored functions for OData Version 4 services as described here.
*Functions that are unbound (static operations)
*Function imports
*Functions that return primitive types
*Function invocation with OData system query options $filter
Note that the following aspects of OData Version 4 functions are NOT supported.
*Functions that return complex types and entities
*Functions that are bound to entities
*Built-in functions
*Functions with OUT/INOUT parameters
*Overloaded functions
*Function invocation as part of $select
*Function invocation as part of $orderby
*Function invocation as part of parameter value
*Parameter aliases are not supported. Hence, invoking functions with function parameters as URL query parameters is not supported.
*The following additional limitations apply to PostgreSQL.
*The BYTEA data type is not supported.
*The BIT data type is mapped as BINARY. To work around this issue, you can create a function parameter or return type as BIT.
*Synonyms are not supported. To work around this issue, the functions of other schema can be accessed with the following steps.
1. Create a user (for example, USER_A) and functions in one schema (for example, SCHEMA_A) .
2. Create another user (for example, USER_B) and set a search path for this user to access functions for SCHEMA_A:
alter user USER_B set search_path to SCHEMA_A;
*Now USER_B can access the functions created for SCHEMA_A without using the fully qualified name (schemaName.functionName), while USER_A remains the owner of those functions.
Note: You can invoke stored functions using an OData service either independently or as part of another operation, such as a filter operation.