public static void Unregister(OracleDatabaseModel databaseModel) { lock (ActiveResolvers) { var connectionString = databaseModel.ConnectionString.ConnectionString; ActiveResolvers.Remove(connectionString); GetActiveModels(connectionString).Clear(); } }
private OracleDatabaseModel Clone(string modulePrefix) { var clone = new OracleDatabaseModel(ConnectionString, modulePrefix) { _currentSchema = _currentSchema, _dataDictionary = _dataDictionary, _allProgramMetadata = _allProgramMetadata, _uniqueConstraintReferringReferenceConstraints = _uniqueConstraintReferringReferenceConstraints }; return(clone); }
public static void UnregisterActiveModel(OracleDatabaseModel databaseModel) { lock (ActiveResolvers) { var connectionString = databaseModel.ConnectionString.ConnectionString; var activeModels = GetActiveModels(connectionString); activeModels.Remove(databaseModel); if (activeModels.Count == 0 && ActiveResolvers.TryGetValue(connectionString, out OracleSchemaResolver resolver)) { resolver._enablePasswordRetrieval = true; } } }
public static OracleDatabaseModel GetDatabaseModel(ConnectionStringSettings connectionString, string identifier = null) { OracleDatabaseModel databaseModel; lock (DatabaseModels) { if (DatabaseModels.TryGetValue(connectionString.ConnectionString, out databaseModel)) { databaseModel = databaseModel.Clone(identifier); } else { DatabaseModels[connectionString.ConnectionString] = databaseModel = new OracleDatabaseModel(connectionString, identifier); } } return(databaseModel); }
public static IReadOnlyCollection <OracleSchema> ResolveSchemas(OracleDatabaseModel databaseModel) { OracleSchemaResolver resolver; lock (ActiveResolvers) { var connectionString = databaseModel.ConnectionString.ConnectionString; GetActiveModels(connectionString).Add(databaseModel); if (!ActiveResolvers.TryGetValue(connectionString, out resolver)) { resolver = new OracleSchemaResolver(databaseModel); ActiveResolvers.Add(connectionString, resolver); } } resolver.ResolveSchemas(); return(resolver._schemas); }
private OracleSchemaResolver(OracleDatabaseModel databaseModel) { _databaseModel = databaseModel; }
private async Task UpdateDataModel(CancellationToken cancellationToken, IModelDataProvider scriptDataProvider) { var connectionString = OracleConnectionStringRepository.GetBackgroundConnectionString(_databaseModel.ConnectionString.ConnectionString); await OracleDatabaseModel.UpdateModelAsync(connectionString, _databaseModel.CurrentSchema, false, cancellationToken, scriptDataProvider); }
public OracleDataDictionaryMapper(OracleDatabaseModel databaseModel, Action <string> actionStatusChanged) { _actionStatusChanged = actionStatusChanged; _databaseModel = databaseModel; }