This is the list of valid keywords for use in service function prototypes:
| LIBRARY | Indicates the name of the .SO module an entry point is defined in. |
| ENTRYPOINT | Specifies a name for the entry point. By default, the name of the entry point is the function name. |
| DEPRECATED | Optional. Marks the service function as deprecated and
displays a warning if the function is used. You may include an
optional message, as in DEPRECATED('Use NewFunction
instead.'). See DEPRECATED. |
| INITFUNCTION | Specifies the name of the initialization routine defined in the module containing the entry point. Currently, the initialization function is called once. |
| INCLUDE | Indicates the function prototype is in the specified include file, so the generated CPP must #include that file. If INCLUDE is not specified, the C++ prototype is generated from the ECL function definition. |
| C | Indicates the generated C++ prototype is enclosed within an extern "C" rather than just extern. |
| PURE | Indicates the function returns the same result every time you call it with the same parameters and has no side effects. This allows the optimizer to make more efficient calls to the function in some cases. |
| ONCE | Indicates the function has no side effects and is evaluated at query execution time, even if the parameters are constant. This allows the optimizer to make more efficient calls to the function in some cases. |
| FOLD | Specifies that the function is evaluated at compile time if all parameters are constants. Specifying FOLD to the SERVICE applys it to all function definitions in the service - in such cases NOFOLD may be useful to override this default for individual functions that are not suitable for constant folding. |
| NOFOLD | Specifies that the service is not suitable for constant folding. |
| ACTION | Indicates the function has side effects and requires the optimizer to not remove calls to the function. |
| CONTEXT | Internal use, only. Indicates an extra internal context parameter (ICodeContext *) is passed to the function. This must be the first function parameter. |
| GLOBALCONTEXT | Internal use, only. Same as CONTEXT, but there are restrictions on where the function can be used (for example, not in a TRANSFORM). |
| CTXMETHOD | Internal use, only. Indicates the function is actually a method of the internal code context. |
| TIME | Tracks timing of the external function call and reports them back as metrics to the user. |
| label | Optional. A string constant containing the name to associate with the timer. If omitted, the default is used. |