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. |
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. |