edmiGetModelVersionIdBN
Â
EdmiError edmiGetModelVersionIdBN(SdaiString repositoryName, SdaiString modelName, SdaiString modelVersionName, SdaiModelVersion *modelVersionId, SdaiVersion *versionId);
Returns the unique modelVersionId and the version sequence number of a version of an edmModel. The version is identified by the names of the repository, the model and the version.
Arguments
Type | Name | Comment |
SdaiString | repositoryName | The name of the edmRepository that contains the edmModel for which a given version shall be explored. Repository names are case sensitive. |
SdaiString | modelName | The name of the edmModel for which the given version shall be explored. Model names are case sensitive. |
SdaiString | modelVersionName | The name of the model version to look for. This is the name that was assigned to the version when it was created. |
SdaiModelVersion | modelVersionId | Variable that will receive the modelVersionId that uniquely identifies the model version in the EDMdatabase. |
SdaiVersion | versionId | Variable that will receive the model version number. This sequence number counts from one and increases by one for each new version created. |
Return Value
Options
Â
Example
Â
 EdmiError rstat; SdaiInteger nWrn, nErr; SdaiRepository repId; SdaiModel modelId; SdaiVersion version1Id, version2Id; SdaiModelVersion modelVersionId; SdaiInteger myInteger; SdaiReal myReal; SdaiInstance instId; SdaiAttr attrId; SdaiPrimitiveType type; /* Compile schema */ rstat = edmiCompileFile("c:/data/MyFile.exp", "c:/tmp/MyFile.dia", "MySchema", 0, &nWrn, &nErr); /* Create Model */ rstat = edmiGetRepository("MyRepository", &repId); modelId = edmiCreateModelBN(repId, "MyModel", "MySchema", 0); /* Populate Model */ instId = edmiCreateInstanceAndPutAttrsBN(modelId, "MyEntity", 1, "REAL_ATTR", sdaiREAL, 3.14); /* Create version 1 */ rstat = edmiCreateModelVersion("MyRepository", "MyModel", "V1", &modelVersionId); /* Change population */ sdaiPutAttrBN(instId, "REAL_ATTR", sdaiINTEGER, 1); /* Create version 2 */ rstat = edmiCreateModelVersion("MyRepository", "MyModel", NULL, &modelVersionId); /* Get Id of version 1 */ rstat = edmiGetModelVersionIdBN("MyRepository", "MyModel", "V1", &modelVersionId, &version1Id); /* Type is sdaiREAL */ rstat = edmiVersionGetAttrDatatypeBN(instId, version1Id, "REAL_ATTR", &type); /* Value is 3.14 */ if (type != sdaiREAL) goto error; rstat = edmiVersionGetAttrBN(instId, version1Id, "REAL_ATTR", type, &myReal); /* Get Id of version 2 */ attrId = sdaiGetAttrDefinitionBN("MySchema", "MyEntity", "REAL_ATTR"); rstat = edmiGetModelVersionId(modelId, "version2", &modelVersionId, &version2Id); /* Type is now sdaiINTEGER */ rstat = edmiVersionGetAttrDatatype(instId, version2Id, attrId, &type); /* Value is 1 */ if (type != sdaiINTEGER) goto error; rstat = edmiVersionGetAttr(instId, version2Id, attrId, type, &myInteger); /* Roll back to version 1 */ rstat = edmiRollbackModel(modelId, version1Id, KEEP_ALL_MODEL_VERSIONS); /* Delete version 2 */ edmiDeleteModelVersion(modelId, version2Id); error: . . .
Â
See also
Filter by label
There are no items with the selected labels at this time.
Â