edmiListMethodSignatures

edmiListMethodSignatures

EdmiError edmiListMethodSignatures(SdaiString typeFilter, SdaiString nameFilter, SdaiString schemaFilter, SdaiString extraSchemaFilter, SdaiString methodClassFilter, SdaiString ownerFilter, SdaiString groupOwnerFilter, SdaiOptions options, SdaiString **foundNames);

Returns a buffer of method signature names that meet a number of conditional statements given as input parameters.

Arguments


1

Type

Name

Comment

2

SdaiString

typeFilter

Express-X conditional statement that will be evaluated against the method_type attribute of all the edm_method instances of the ExpressDataManager model. The method type identifier is stored as an Express enumeration data type. Hence, only conditional statements that are valid for enumerations may be used. Do not quote the method type identifier
Examples:
"method_type = XPX".
"method_type = QEX".

3

SdaiString

nameFilter

Express-X conditional statement that will be evaluated against the name attribute of all edm_method instances of the ExpressDataManager model. Method names must be quoted and uppercase.
Examples:
"name LIKE 'KZ22'"
"xpxLike(name, '*_OUTPUT')"

4

SdaiString

schemaFilter

Express-X conditional statement that will be evaluated against the attributes of the parent express schema of the query schema in which the query function method is defined. This filter is only applicable for query function methods. See entity definition of express_data_manager.edm_schema for list of available attributes. The conditional string must start with the attribute name. I.e no leading whitespace or parenthesis.
Examples:
"name = 'IFC2X2'"
"original_name LIKE 'ifc2x2*'"
"source_stored = TRUE"

5

SdaiString

extraSchemaFilter

Express-X conditional statement that will be evaluated against the attributes of the query schema in which the query function method is defined. This filter is only applicable for query function methods. See entity definition of express_data_manager.edm_query_schema for list of available attributes. The conditional string must start with the attribute name. I.e no leading whitespace or parenthesis.
Examples:
"name = 'MYQUERYFUNCS'"
"original_name LIKE 'MyQuery*'"
"protection ~& XPXGROUP_WRITE"

6

SdaiString

methodClassFilter

Express-X conditional statement that will be evaluated against the classification attribute of all edm_method instances of the ExpressDataManager model.
Examples
"classification = 'CHECK_IN'".
"xpxLike(classification, 'CHECK_*')"

7

SdaiString

ownerFilter

Express-X conditional statement that will be evaluated against the attributes of the edmUser that owns the method. See entity definition of express_data_manager.edm_user for list of available attributes. The conditional string must start with the attribute name. I.e no leading whitespace or parenthesis.
Examples:
"name = 'JOHNNY'"
"original_name LIKE 'John*'"

8

SdaiString

groupOwnerFilter

Express-X conditional statement that will be evaluated against the attributes of the edmGroup that owns the method. See entity definition of express_data_manager.edm_group for list of available attributes. The conditional string must start with the attribute name. I.e no leading whitespace or parenthesis.
Examples:
"name = 'SUPERVISOR'"
"original_name LIKE 'Super*'"

9

 

options

Currently not used.

10

SdaiString

foundNames

A buffer that will receive a null terminated list of method names that meet all the given conditions. 

Return Value


Options


 

 

Option

Comment

1

 

 

Example


 

 EdmiError rstat; SdaiInteger nErr, nWrn; SdaiInstance qexMethodId; SdaiString *s; SdaiUser myUserId; rstat = edmiGetMyUserId(&myUserId); rstat = edmiDefineSchema("c:/data/person.exp", "c:/temp/person.dia", "Person", 0, &nWrn, &nErr); rstat = edmiDefineQuerySchema("c:/data/person_queries.qex", "c:/data/person_queries.dia", 0, &nWrn, &nErr); rstat = edmiListMethodSignatures("method_type = QEX", "name LIKE 'SEX*'", "name = 'PERSON'", "xpxLike(classification, '*_OUTPUT')", NULL, NULL, 0, &s); while(*s) { printf("\nMethod %s", *s); s++; } Express Schema - -------------------------------------------------------------- - File : c:/data/person.exp - -------------------------------------------------------------- SCHEMA person; ENTITY aperson; name : STRING; sex : STRING; weight : REAL; END_ENTITY; END_SCHEMA; Query Schema. - -------------------------------------------------------------- - File : c:/data/person_queries.qex - -------------------------------------------------------------- QUERY_SCHEMA queries FOR person; GLOBAL DECLARE src INSTANCE OF person; END_GLOBAL; VIEW_ENTITY PersonView; name : STRING; sex : INTEGER; weight : REAL; END_VIEW_ENTITY; QUERY_FUNCTION SexHeavierThan ( p_sex:INTEGER; p_weight:REAL) : SET OF PersonView; LOCAL result : SET of PersonView; currView : PersonView; END_LOCAL; FROM(s:src::aperson) WHEN TRUE; BEGIN IF((s.sex = p_sex) AND (s.weight > p_weight)) THEN NEW currView; currView.name := s.name; currView.sex := s.sex; currView.weight := s.weight; result ++ currView; END_IF; END; RETURN(result); END_QUERY_FUNCTION; END_QUERY_SCHEMA;

 

See also