Esempio n. 1
0
 private void Reopen()
 {
     this.SetState(4);
     try
     {
         this.NameManager               = new QNameManager(this);
         this.granteeManager            = new GranteeManager(this);
         this.userManager               = new UserManager(this);
         this.schemaManager             = new SchemaManager(this);
         this.persistentStoreCollection = new PersistentStoreCollectionDatabase();
         this._isReferentialIntegrity   = true;
         this.sessionManager            = new SessionManager(this);
         this.collation = Collation.GetDefaultInstance();
         this.DbInfo    = DatabaseInformation.NewDatabaseInformation(this);
         this.TxManager = new TransactionManagerMvcc(this);
         this.lobManager.CreateSchema();
         this.sessionManager.GetSysLobSession().SetSchema("SYSTEM_LOBS");
         this.schemaManager.SetSchemaChangeTimestamp();
         this.logger.OpenPersistence();
         if (this.logger.IsNewDatabase)
         {
             string property = this.UrlProperties.GetProperty("user", "SA");
             string password = this.UrlProperties.GetProperty("password", "");
             this.userManager.CreateFirstUser(property, password);
             this.schemaManager.CreatePublicSchema();
             this.lobManager.InitialiseLobSpace();
             this.logger.Checkpoint(false);
         }
         this.lobManager.Open();
         this.DbInfo.SetWithContent(true);
     }
     catch (Exception error)
     {
         this.logger.ClosePersistence(-1);
         this.logger.ReleaseLock();
         this.SetState(0x10);
         this.ClearStructures();
         DatabaseManager.RemoveDatabase(this);
         if (!(error is CoreException))
         {
             error = Error.GetError(0x1ca, error);
         }
         this.logger.LogSevereEvent(FwNs.Core.LC.cResources.SR.Database_Reopen_could_not_reopen_database, error);
         throw;
     }
     this.SetState(1);
 }
Esempio n. 2
0
 public CharacterType(int type, long precision) : base(12, type, precision, 0)
 {
     this._collation        = Collation.GetDefaultInstance();
     this._charset          = Charset.GetDefaultInstance();
     this._isEqualIdentical = type != 100;
 }