Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


 
Deletes a version of an edmModel identified by the model version name.
Related functions: edmiCreateModelVersion, edmiDeleteModelVersion, edmiDeleteModelVersionBN, edmiGetModelVersionId, edmiGetModelVersionIdBN, edmiRollbackModel, edmiRollbackModelBN, edmiVersionGetAttr, edmiVersionGetAttrBN, edmiVersionGetAttrDatatype, edmiVersionGetAttrDatatypeBN.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiDeleteModelVersionBN(SdaiString repositoryName,
                                    SdaiString modelName, 
                                    SdaiString modelVersionName);
Arguments:

repositoryName

The name of the edmRepository that contains the edmModel for which a version is to be deleted. Repository names are case sensitive.

modelName

The name of the edmModel for which a version is to be deleted. Model names are case sensitive.

modelVersionName

The name of the model version to delete. This is the name that was assigned to the model version when it was created.

Returns:
A completion code of datatype EdmiError is the returned function value. The completion code has the following values:
Completion code = 0 : Operation successfully performed.
Completion code != 0: Error in operation. Completion code is an EDMinterface error code. Use edmiGetErrorText to get the error text corresponding to the error code.
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 */
edmiDeleteModelVersionBN("MyRepository", "MyModel", "version2");
error:
. . .

  • No labels