internal void CopySchemaInfoFrom(DbSqlParserColumn completedColumn) { this._databaseName = completedColumn.DatabaseName; this._schemaName = completedColumn.SchemaName; this._tableName = completedColumn.TableName; this._columnName = completedColumn.ColumnName; this._isKey = completedColumn.IsKey; this._isUnique = completedColumn.IsUnique; }
protected DbSqlParserColumn FindCompletedColumn(DbSqlParserTable table, DbSqlParserColumn searchColumn) { DbSqlParserColumnCollection columns = table.Columns; int count = columns.Count; for (int i = 0; i < count; i++) { DbSqlParserColumn column = columns[i]; if (this.CatalogMatch(column.ColumnName, searchColumn.ColumnName)) { return(column); } } return(null); }
private DbSqlParserColumn FindConstraintColumn(string schemaName, string tableName, string columnName) { DbSqlParserColumnCollection columns = base.Columns; int count = columns.Count; for (int i = 0; i < count; i++) { DbSqlParserColumn column = columns[i]; if ((this.CatalogMatch(column.SchemaName, schemaName) && this.CatalogMatch(column.TableName, tableName)) && this.CatalogMatch(column.ColumnName, columnName)) { return(column); } } return(null); }
internal DbSqlParserTable FindTableForColumn(DbSqlParserColumn column) { DbSqlParserTableCollection tables = this.Tables; int count = tables.Count; for (int i = 0; i < count; i++) { DbSqlParserTable table = tables[i]; if ((System.Data.Common.ADP.IsEmpty(column.DatabaseName) && System.Data.Common.ADP.IsEmpty(column.SchemaName)) && this.CatalogMatch(column.TableName, table.CorrelationName)) { return(table); } if (((System.Data.Common.ADP.IsEmpty(column.DatabaseName) || this.CatalogMatch(column.DatabaseName, table.DatabaseName)) && (System.Data.Common.ADP.IsEmpty(column.SchemaName) || this.CatalogMatch(column.SchemaName, table.SchemaName))) && (System.Data.Common.ADP.IsEmpty(column.TableName) || this.CatalogMatch(column.TableName, table.TableName))) { return(table); } } return(null); }
internal DbSqlParserTable FindTableForColumn(DbSqlParserColumn column) { DbSqlParserTableCollection tables = this.Tables; int count = tables.Count; for (int i = 0; i < count; i++) { DbSqlParserTable table = tables[i]; if ((System.Data.Common.ADP.IsEmpty(column.DatabaseName) && System.Data.Common.ADP.IsEmpty(column.SchemaName)) && this.CatalogMatch(column.TableName, table.CorrelationName)) { return table; } if (((System.Data.Common.ADP.IsEmpty(column.DatabaseName) || this.CatalogMatch(column.DatabaseName, table.DatabaseName)) && (System.Data.Common.ADP.IsEmpty(column.SchemaName) || this.CatalogMatch(column.SchemaName, table.SchemaName))) && (System.Data.Common.ADP.IsEmpty(column.TableName) || this.CatalogMatch(column.TableName, table.TableName))) { return table; } } return null; }
protected DbSqlParserColumn FindCompletedColumn(DbSqlParserTable table, DbSqlParserColumn searchColumn) { DbSqlParserColumnCollection columns = table.Columns; int count = columns.Count; for (int i = 0; i < count; i++) { DbSqlParserColumn column = columns[i]; if (this.CatalogMatch(column.ColumnName, searchColumn.ColumnName)) { return column; } } return null; }
internal DbSqlParserColumn Add(DbSqlParserColumn value) { this.OnValidate(value); base.InnerList.Add(value); return(value); }
internal void Insert(int index, DbSqlParserColumn value) { base.InnerList.Insert(index, value); }
internal DbSqlParserColumn Add(string databaseName, string schemaName, string tableName, string columnName, string alias) { DbSqlParserColumn column = new DbSqlParserColumn(databaseName, schemaName, tableName, columnName, alias); return(this.Add(column)); }
private void CompleteSchemaInformation() { DbSqlParserColumnCollection columns = this.Columns; DbSqlParserTableCollection tables = this.Tables; int count = columns.Count; int num10 = tables.Count; for (int i = 0; i < num10; i++) { DbSqlParserTable table2 = tables[i]; DbSqlParserColumnCollection columns4 = this.GatherTableColumns(table2); table2.Columns = columns4; } for (int j = 0; j < count; j++) { DbSqlParserColumn column = columns[j]; DbSqlParserTable table = this.FindTableForColumn(column); if (!column.IsExpression) { if ("*" == column.ColumnName) { columns.RemoveAt(j); if (column.TableName.Length != 0) { DbSqlParserColumnCollection columns3 = table.Columns; int num9 = columns3.Count; for (int m = 0; m < num9; m++) { columns.Insert(j + m, columns3[m]); } count += num9 - 1; j += num9 - 1; } else { for (int n = 0; n < num10; n++) { table = tables[n]; DbSqlParserColumnCollection columns2 = table.Columns; int num8 = columns2.Count; for (int num2 = 0; num2 < num8; num2++) { columns.Insert(j + num2, columns2[num2]); } count += num8 - 1; j += num8; } } } else { DbSqlParserColumn completedColumn = this.FindCompletedColumn(table, column); if (completedColumn != null) { column.CopySchemaInfoFrom(completedColumn); } else { column.CopySchemaInfoFrom(table); } } } } for (int k = 0; k < num10; k++) { DbSqlParserTable table3 = tables[k]; this.GatherKeyColumns(table3); } }
internal DbSqlParserColumn Add(DbSqlParserColumn value) { this.OnValidate(value); base.InnerList.Add(value); return value; }
internal DbSqlParserColumn Add(string databaseName, string schemaName, string tableName, string columnName, string alias) { DbSqlParserColumn column = new DbSqlParserColumn(databaseName, schemaName, tableName, columnName, alias); return this.Add(column); }
private void FillSchemaTable(DataTable schemaTable) { DataColumn column3 = new DataColumn(SchemaTableOptionalColumn.ProviderSpecificDataType, typeof(Type)); schemaTable.Columns.Add(column3); int fieldCount = this.FieldCount; DbSqlParserColumnCollection columns = null; int count = 0; if (this._keyInfoRequested) { OracleSqlParser parser = new OracleSqlParser(); parser.Parse(this._statementText, this._connection); columns = parser.Columns; count = columns.Count; } for (int i = 0; i < fieldCount; i++) { OracleColumn column = this._columnInfo[i]; DataRow row = schemaTable.NewRow(); row[SchemaTableColumn.ColumnName] = column.ColumnName; row[SchemaTableColumn.ColumnOrdinal] = column.Ordinal; if (column.IsLong | column.IsLob) { row[SchemaTableColumn.ColumnSize] = 0x7fffffff; } else { row[SchemaTableColumn.ColumnSize] = column.SchemaTableSize; } row[SchemaTableColumn.NumericPrecision] = column.Precision; row[SchemaTableColumn.NumericScale] = column.Scale; row[SchemaTableColumn.DataType] = column.GetFieldType(); row[column3] = column.GetFieldOracleType(); row[SchemaTableColumn.ProviderType] = column.OracleType; row[SchemaTableColumn.IsLong] = column.IsLong | column.IsLob; row[SchemaTableColumn.AllowDBNull] = column.IsNullable; if (this._keyInfoRequested && (count == fieldCount)) { DbSqlParserColumn column2 = columns[i]; row[SchemaTableColumn.IsAliased] = column2.IsAliased; row[SchemaTableColumn.IsExpression] = column2.IsExpression; row[SchemaTableColumn.IsKey] = column2.IsKey; row[SchemaTableColumn.IsUnique] = column2.IsUnique; row[SchemaTableColumn.BaseSchemaName] = this.SetSchemaValue(OracleSqlParser.CatalogCase(column2.SchemaName)); row[SchemaTableColumn.BaseTableName] = this.SetSchemaValue(OracleSqlParser.CatalogCase(column2.TableName)); row[SchemaTableColumn.BaseColumnName] = this.SetSchemaValue(OracleSqlParser.CatalogCase(column2.ColumnName)); } else { row[SchemaTableColumn.IsAliased] = DBNull.Value; row[SchemaTableColumn.IsExpression] = DBNull.Value; row[SchemaTableColumn.IsKey] = DBNull.Value; row[SchemaTableColumn.IsUnique] = DBNull.Value; row[SchemaTableColumn.BaseSchemaName] = DBNull.Value; row[SchemaTableColumn.BaseTableName] = DBNull.Value; row[SchemaTableColumn.BaseColumnName] = DBNull.Value; } schemaTable.Rows.Add(row); row.AcceptChanges(); } }