Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method UnloadMDS 
 | 
{ 
 | 
  Description: 'Unload the real dataset' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Unload this dataset 
 | 
    mdsid := MDSID::Create( this.DatasetMDSID() ); 
 | 
    editor := MDSEditor::Editor(); 
 | 
     
 | 
    // If the dataset is memory only, don't unload it 
 | 
    allInfos := editor.ObjectInfos(); 
 | 
    objInfo := select( allInfos, Elements, e, e.MDSID().MDSKey() = this.DatasetMDSID() ) 
 | 
     
 | 
    // Check the dataset storage state 
 | 
    if( objInfo.State() <> DMF_Utility::StorageState_MemoryOnly() ) 
 | 
    { 
 | 
      // This is async unload, so similar to load MDS, we need to wait for its reply 
 | 
      // refer to DMF_ConvertorDataset::HandleOnDestructed. This is to let us know for 
 | 
      // sure that the dataset has been unloaded before we run normal server startup 
 | 
      editor.UnloadMDS( mdsid ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      // Handle memory only dataset, for this we don't have to unload it 
 | 
      this.HandleMemoryOnlyDatasetFinished(); 
 | 
    } 
 | 
  *] 
 | 
} 
 |