protected override CommandCanExecuteResult CanExecute() { if (CurrentNode == null || !CurrentNode.Id.In(Terminals.ObjectIdentifier, Terminals.Identifier)) { return false; } _schemaObject = SemanticModel.AllReferenceContainers .SelectMany(c => c.AllReferences) .Where(c => (c.ObjectNode == CurrentNode || (c as OracleProgramReference)?.ProgramIdentifierNode == CurrentNode) && c.SchemaObject != null) .Select(c => c.SchemaObject) .SingleOrDefault(); if (_schemaObject == null) { _schemaObject = SemanticModel.AllReferenceContainers .SelectMany(c => c.ColumnReferences) .Where(c => c.ObjectNode == CurrentNode && c.ValidObjectReference?.SchemaObject != null) .Select(c => c.ValidObjectReference.SchemaObject) .FirstOrDefault(); } return new CommandCanExecuteResult { CanExecute = _schemaObject != null, IsLongOperation = true }; }
protected override CommandCanExecuteResult CanExecute() { if (CurrentNode == null || !CurrentNode.Id.In(Terminals.ObjectIdentifier, Terminals.Identifier)) { return(false); } _schemaObject = SemanticModel.AllReferenceContainers .SelectMany(c => c.AllReferences) .Where(c => (c.ObjectNode == CurrentNode || (c as OracleProgramReference)?.ProgramIdentifierNode == CurrentNode) && c.SchemaObject != null) .Select(c => c.SchemaObject) .SingleOrDefault(); if (_schemaObject == null) { _schemaObject = SemanticModel.AllReferenceContainers .SelectMany(c => c.ColumnReferences) .Where(c => c.ObjectNode == CurrentNode && c.ValidObjectReference?.SchemaObject != null) .Select(c => c.ValidObjectReference.SchemaObject) .FirstOrDefault(); } return (new CommandCanExecuteResult { CanExecute = _schemaObject != null, IsLongOperation = true }); }
private static string GetFullSchemaObjectToolTip(OracleSchemaObject schemaObject) { string tip = null; if (schemaObject is OracleSynonym synonym) { tip = $"{GetSchemaObjectToolTip(synonym)} => "; schemaObject = synonym.SchemaObject; } return($"{tip}{GetSchemaObjectToolTip(schemaObject)}"); }
private static bool TryGetSchemaObjectProgramMetadata(OracleSchemaObject schemaObject, out IEnumerable <OracleProgramMetadata> functionMetadata) { var targetObject = schemaObject.GetTargetSchemaObject(); if (targetObject is IProgramCollection functionContainer) { functionMetadata = functionContainer.Programs; return(true); } functionMetadata = EmptyMetadataCollection; return(false); }
private void BuildSimpleToolTip(OracleSchemaObject schemaObject) { if (schemaObject == null) { return; } ToolTip = new ToolTipObject { DataContext = GetFullSchemaObjectToolTip(schemaObject) }; }
private static string GetObjectTypeLabel(OracleSchemaObject schemaObject) { switch (schemaObject.Type) { case OracleObjectType.Type: if (schemaObject is OracleTypeObject) { return("Object type"); } var collection = (OracleTypeCollection)schemaObject; return(collection.CollectionType == OracleCollectionType.Table ? "Object table" : "Object varrying array"); default: return(schemaObject.Type.ToLower()); } }
private static object MapSchemaObject(IDataRecord reader, IDictionary <OracleObjectIdentifier, OracleSchemaObject> allObjects) { var objectTypeIdentifer = OracleObjectIdentifier.Create(QualifyStringObject(reader["OWNER"]), QualifyStringObject(reader["OBJECT_NAME"])); var objectType = (string)reader["OBJECT_TYPE"]; var created = (DateTime)reader["CREATED"]; var isValid = (string)reader["STATUS"] == "VALID"; var lastDdl = (DateTime)reader["LAST_DDL_TIME"]; var isTemporary = String.Equals((string)reader["TEMPORARY"], "Y"); OracleSchemaObject schemaObject = null; switch (objectType) { case OracleObjectType.Table: if (allObjects.TryGetValue(objectTypeIdentifer, out schemaObject)) { goto case OracleObjectType.MaterializedView; } goto default; case OracleObjectType.MaterializedView: case OracleObjectType.Type: if (schemaObject == null && allObjects.TryGetValue(objectTypeIdentifer, out schemaObject)) { schemaObject.Created = created; schemaObject.IsTemporary = isTemporary; schemaObject.IsValid = isValid; schemaObject.LastDdl = lastDdl; } break; default: schemaObject = OracleObjectFactory.CreateSchemaObjectMetadata(objectType, objectTypeIdentifer.NormalizedOwner, objectTypeIdentifer.NormalizedName, isValid, created, lastDdl, isTemporary); AddObjectToDictionary(allObjects, schemaObject, schemaObject.Type); break; } return(schemaObject); }
private static OracleDataObject GetSingleObjectReference(OracleColumnReference column) { OracleSchemaObject dataObject = null; if (column.Owner.ObjectReferences.Count == 1) { dataObject = column.Owner.ObjectReferences.First().SchemaObject.GetTargetSchemaObject(); } if (dataObject == null) { var schemaObjectReference = column.ValidObjectReference; if (schemaObjectReference != null) { dataObject = schemaObjectReference.SchemaObject.GetTargetSchemaObject(); } } return(dataObject != null && dataObject.Type == OracleObjectType.Table ? (OracleDataObject)dataObject : null); }
private bool FilterSchema(OracleSchemaObject schemaObject, string activeSchema, string schemaName) { return String.IsNullOrEmpty(schemaName) ? String.Equals(schemaObject.Owner, activeSchema) || String.Equals(schemaObject.Owner, OracleObjectIdentifier.SchemaPublic) : String.Equals(schemaObject.Owner, schemaName); }
public static OracleSchemaObject GetTargetSchemaObject(this OracleSchemaObject schemaObject) { var synonym = schemaObject as OracleSynonym; return(synonym == null ? schemaObject : synonym.SchemaObject); }
private static string GetObjectTypeLabel(OracleSchemaObject schemaObject) { switch (schemaObject.Type) { case OracleObjectType.Type: if (schemaObject is OracleTypeObject) { return "Object type"; } var collection = (OracleTypeCollection)schemaObject; return collection.CollectionType == OracleCollectionType.Table ? "Object table" : "Object varrying array"; default: return schemaObject.Type.ToLower(); } }
private static string GetSchemaObjectToolTip(OracleSchemaObject schemaObject) { return schemaObject == null ? null : GetObjectTitle(schemaObject.FullyQualifiedName, GetObjectTypeLabel(schemaObject)); }
private static string GetFullSchemaObjectToolTip(OracleSchemaObject schemaObject) { string tip = null; var synonym = schemaObject as OracleSynonym; if (synonym != null) { tip = $"{GetSchemaObjectToolTip(synonym)} => "; schemaObject = synonym.SchemaObject; } return $"{tip}{GetSchemaObjectToolTip(schemaObject)}"; }
private static string GetSchemaObjectToolTip(OracleSchemaObject schemaObject) { return(schemaObject == null ? null : GetObjectTitle(schemaObject.FullyQualifiedName, GetObjectTypeLabel(schemaObject))); }
private static bool IsDataObject(OracleSchemaObject schemaObject) { return schemaObject.GetTargetSchemaObject() is OracleDataObject; }
private static bool FilterOtherSchemaObject(OracleSchemaObject schemaObject, bool sequencesAllowed) { var targetObject = schemaObject.GetTargetSchemaObject(); return targetObject != null && (String.Equals(targetObject.Type, OracleObjectType.Type) || (sequencesAllowed && String.Equals(targetObject.Type, OracleObjectType.Sequence))); }