public virtual TableMetaData getTableMetaData(string database, string tableSchema, string tableName) { TableMetaData tableMetaData = new TableMetaData(dlineage.Vendor, dlineage.Strict); tableMetaData.Name = tableName; tableMetaData.SchemaName = tableSchema; if (!string.ReferenceEquals(database, null)) { tableMetaData.CatalogName = database; } tableMetaData = getTableMetaData(tableMetaData); return(tableMetaData); }
private TableMetaData getTableMetaData(TableMetaData tableMetaData) { IList <TableMetaData> tables = new List <TableMetaData>(dlineage.MetaData.Keys); int index = tables.IndexOf(tableMetaData); if (index != -1) { return(tables[index]); } else { return(null); } }
public virtual ColumnMetaData getColumnMetaData(TableMetaData tableMetaData, string columnName) { ColumnMetaData columnMetaData = new ColumnMetaData(); columnMetaData.Name = columnName; columnMetaData.Table = tableMetaData; if (dlineage.MetaData[tableMetaData] == null) { return(null); } int index = dlineage.MetaData[tableMetaData].IndexOf(columnMetaData); if (index != -1) { columnMetaData = dlineage.MetaData[tableMetaData][index]; } else { return(null); } return(columnMetaData); }
public override bool Equals(object obj) { if (this == obj) { return(true); } if (!(obj is TableMetaData)) { return(false); } TableMetaData other = (TableMetaData)obj; if (strict) { if (string.ReferenceEquals(catalogName, null)) { if (!string.ReferenceEquals(other.catalogName, null)) { return(false); } } else if (!catalogName.Equals(other.catalogName)) { return(false); } if (string.ReferenceEquals(schemaName, null)) { if (!string.ReferenceEquals(other.schemaName, null)) { return(false); } } else if (!schemaName.Equals(other.schemaName)) { return(false); } } if (catalogName != null && other.schemaName != null && !catalogName.Equals(other.catalogName)) { return(false); } if (schemaName != null && other.schemaName != null && !schemaName.Equals(other.schemaName)) { return(false); } if (string.ReferenceEquals(name, null)) { if (!string.ReferenceEquals(other.name, null)) { return(false); } } else if (!name.Equals(other.name)) { return(false); } return(true); }