Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Code Block
languagecpp
themeConfluence
EdmiError edmiGetModelVersionId(SdaiModel         modelId,
                                 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 model Id and the version name.

...

Arguments

...

TypeNameComment
SdaiModel

modelId

The modelId that uniquely identifies the edmModel in the EDMdatabase.

SdaiString

modelVersionName

The name of the model version to look for.

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

...

Insert excerpt
US:_r_EDMInterface
US:_r_EDMInterface
nopaneltrue

Options

...

 

Example

...

 

Code Block
languagecpp
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 (Content by label)
showLabelsfalse
showSpacefalse
cqllabel = "model" and parent = "6062220"