public SourceColumn(SourceColumn column, bool allowNull) // NOT NULL => NULL { Source = column.Source; SourceColumnName = column.SourceColumnName; ColumnDbType = column.ColumnDbType; AllowNull = allowNull; }
protected QueryColumnBase(QueryColumnSourceBase source) { if (source == null) { throw new ArgumentNullException(nameof(source)); } Source = source; }
internal bool TryFindSource(string sourceNameOrAlias, out QueryColumnSourceBase source) { if (this.sources.TryGetValue(sourceNameOrAlias, out source)) { return(true); } return(false); }
internal QueryColumnBase AddOutputColumn(QueryColumnBase outputColumn) { if (!IsOutputColumnResolved(outputColumn.OutputColumnName, out QueryColumnBase col)) { QueryColumnSourceBase source = ContainsSourceId(outputColumn.SourceId); if (source != null) { col = AddResolveOutputColumn(new QueryColumnE(source, outputColumn.OutputColumnName, outputColumn.SourceColumnName, outputColumn.ColumnDbType, outputColumn.AllowNull)); } else { if (outputColumn.Source is QuerySourceOnNull) { return(AddResolveOutputColumn(outputColumn)); } else if (outputColumn.Source is QuerySourceOnConstant) { return(AddResolveOutputColumn(outputColumn)); } else if (outputColumn.Source is QuerySourceOnVariable) { return(AddResolveOutputColumn(outputColumn)); } else { // APPLY ( SELECT ... => the source is not in this query specification!! //throw new NotSupportedException("Output column not registered."); return(AddResolveOutputColumn(outputColumn)); } } } if (!col.ColumnDbType.HasValue) { if (outputColumn.ColumnDbType.HasValue) { col.SetColumnDbType(outputColumn.ColumnDbType.Value); // mismatched output queries?!?! } else { // Output column type not resolved! } } if (!outputColumn.ColumnDbType.HasValue) { // throw new ArgumentException("Output column type not resolved.", nameof(outputColumn)); } return(outputColumn); }
public QueryColumnE(QueryColumnSourceBase source, string outputColumnName, string sourceColumnName, DbType?columnDbType, bool?allowNull) : base(source) { if (string.IsNullOrEmpty(outputColumnName)) { throw new ArgumentNullException(nameof(outputColumnName)); } this.outputColumnName = outputColumnName; this._sourceColumnName = sourceColumnName; this._columnDbType = columnDbType; this._allowNull = allowNull; }
public SourceColumnType(QueryColumnSourceBase source, string sourceColumnName, DbType columnDbType, bool allowNull) { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (string.IsNullOrEmpty(sourceColumnName)) { throw new ArgumentNullException(nameof(sourceColumnName)); } Source = source; SourceColumnName = sourceColumnName; ColumnDbType = columnDbType; AllowNull = allowNull; }
internal void AddMqeColumnSource(QueryColumnSourceBase source) { sources.Add(source.Key, source); }
internal void SetTargetAsSource(QueryColumnSourceBase source) { _source = source; }