Code Block |
---|
language | cpp |
---|
theme | Confluence |
---|
|
FUNCTION xpfExecuteQuery (modelId : GENERIC; -- optional argument
queryHandle : INTEGER;
argument1, ..., argumentN : GENERIC)
queryFunctionValue : GENERIC;
|
Include Page |
---|
| US:_xpxExecute common |
---|
| US:_xpxExecute common |
---|
|
The argument “modelId” is optional, i.e., it is not “necessary” for the calling function to set the actual target data model for the called function. The data model (xpxTargetModelId) can be set in the called function itself by invoking one of the following two functions:
- xpxSetVmTargetModel
- xpxSetVmTargetModelBN
Note: An exception (error) will be raised when one of these two above listed functions are called within an “open” FROM statement. The xpfExecuteQuery function has an argument called “queryHandle”. In general, the concept “handles” is introduced in EDMvm to boost performance. Until now, items like local variables, global variables, functions, etc., has been search for using linked lists, but using handles , the actual handle gives a direct “address” to the actual item. A handle is only valid within one EDMvm session. Simplified, a handle is similar to “an open file descriptor”, i.e., it must be retrieved in each session of a program,
The following functions are introduced for retrieving handles:
- xpfGetQuerySchemaHandle
- xpfGetFunctionHandleBN
- xpfGetFunctionHandle
The xpfGetFunctionHandleBN and the xpfGetFunctionHandle functions can be used to get the “function handle” to any function in a query schema, not only query functions.
Arguments
...
Insert excerpt |
---|
| US:_a_queryHandle |
---|
| US:_a_queryHandle |
---|
nopanel | true |
---|
|
Insert excerpt |
---|
| US:_a_Arguments |
---|
| US:_a_Arguments |
---|
nopanel | true |
---|
|
Insert excerpt |
---|
| US:_a_modelId_XPX |
---|
| US:_a_modelId_XPX |
---|
nopanel | true |
---|
|
Return Value
...
Insert excerpt |
---|
| US:_r_queryFunctionValue |
---|
| US:_r_queryFunctionValue |
---|
nopanel | true |
---|
|
...