[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

1526.0. "DCL deleted private MIR reposit. comes back automatically !" by UTES09::STEEG () Thu Sep 19 1991 13:53

Hi,

In our home-brewed AM we store instances in a private instance MIR repository
and we store synthesized attributes in a private attribute MIR repository.

In the development we, accidently, created the private attribute repository as
a private >instance< repository (using MCC_K_DB_FTYPE_ENTDEF instead of
MCC_K_DB_FTYPE_ATTRIBUTE).

We tought that if we deleted the repository.dat file it would be solved.
We manually deleted the private instance repository at DCL-level.

If DECmcc now enters our AM, the following code is executed:

	  MCC_MIR_GET_REPOSITORY_ID(...) /* get id for attribute repos */

This routine is used to check if the repository does exist -> if status
(after this call) is MCC_S_NORMAL then the repository did exist and if the
status (after this call) is MCC_S_NOREPOSEXIST then the repository didn't exist. 

We expected that this MCC_SYSTEM routine would return with the status
MCC_S_NOREPOSEXIST (because the repository was deleted), but this didn't happen;
it returned with the MCC_S_NORMAL status and the AM continued executing the
next code:

	MCMCC_MIR_WRITE_ATTR_DATA(...) /* with id for attribute repos */

It returned from this code with the status:
	- MCC_S_WRONGREPOSTYPE - Wrong repository type which is in some sense 
				 logical because the >deleted< repository was
				 indeed of the wrong type.
AND !!!!!!:
	- A new repository in the right directory - It recreated the >deleted<
						    repository.

This feature is very nice:when someone accidently deletes the repository, 
it will be recreated automatically.
BUT !!!!!!:
It recreates (in our case) the wrong (wrong type) repository that we wanted to
get rid of.

Some questions arise:
How do the MIR-routines know about the characteristics of (deleted) MIR 
repositories ? Where is this information stored ?
How can we change the repository type of a created repository ?
	- Manually deleting doesn't help !
	- Call the routine MCC_MIR_DELETE_REPOSITORY(...) ? and create a new
	  repository with the same name ? 
	- Give new names to the repositories and leave the old name exist 
	  (somewhere) ?
	- Edit the characteristics of the repository that must be stored
          somewhere ?

If someone of you can answer one of these questions, it would be 
greatly appreciated

Henk and Paul
T.RTitleUserPersonal
Name
DateLines
1526.1Look in MCC_SYSTEMTOOK::ORENSTEINThu Sep 19 1991 15:0315
    Some answers:
    
    >>> How do the MIR-routines know about the characteristics of (deleted)
    >>> MIR repositories?
    
    In MCC_SYSTEM you will find the files MCC_MIR_DIRECTORY.DAT and
    MCC_MIR_ATTRIBUTE.DAT.  These files store the information about
    the created repositories.
    
    If you delete these, you can start fresh, but you will have to 
    recreate all the respositories you plan to use.  I would think
    that the right answer is for you to MCC_MIR_DELETE_REPOSITORY
    for the respository that you want to get rid of.
    
    aud...
1526.2This is ok ! Thanks for the replyUTES09::GOESPaul Goes - T&amp;N Digital UtrechtFri Sep 20 1991 05:580