Versions Compared

Key

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

...

 

Code Block
languagecpp
themeConfluence
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

...

TypeNameComment
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

...

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"