public ResultColumn(ResultSet resultSet, TParseTreeNode columnObject) { if (columnObject == null || resultSet == null) { throw new System.ArgumentException("ResultColumn arguments can't be null."); } id = ++TableColumn.TABLE_COLUMN_ID; this.resultSet = resultSet; resultSet.addColumn(this); this.columnObject = columnObject; TSourceToken startToken = columnObject.startToken; TSourceToken endToken = columnObject.endToken; if (columnObject is TObjectName) { if (((TObjectName)columnObject).ColumnNameOnly != null && !"".Equals(((TObjectName)columnObject).ColumnNameOnly)) { this.name = ((TObjectName)columnObject).ColumnNameOnly; } else { this.name = ((TObjectName)columnObject).ToString(); } } else { this.name = columnObject.ToString(); } this.fullName = columnObject.ToString(); this.startPosition = new Tuple <long, long>(startToken.lineNo, startToken.columnNo); this.endPosition = new Tuple <long, long>(endToken.lineNo, endToken.columnNo + endToken.astext.Length); }
public ResultColumn(SelectResultSet resultSet, Tuple <TResultColumn, TObjectName> starColumnPair) { if (starColumnPair == null || resultSet == null) { throw new System.ArgumentException("ResultColumn arguments can't be null."); } id = ++TableColumn.TABLE_COLUMN_ID; this.resultSet = resultSet; resultSet.addColumn(this); this.columnObject = starColumnPair.Item1; TSourceToken startToken = columnObject.startToken; TSourceToken endToken = columnObject.endToken; this.name = ((TObjectName)columnObject).ColumnNameOnly; this.fullName = columnObject.ToString(); this.startPosition = new Tuple <long, long>(startToken.lineNo, startToken.columnNo); this.endPosition = new Tuple <long, long>(endToken.lineNo, endToken.columnNo + endToken.astext.Length); }
public ResultColumn(ResultSet resultSet, TResultColumn resultColumnObject) { if (resultColumnObject == null || resultSet == null) { throw new System.ArgumentException("ResultColumn arguments can't be null."); } id = ++TableColumn.TABLE_COLUMN_ID; this.resultSet = resultSet; resultSet.addColumn(this); this.columnObject = resultColumnObject; if (resultColumnObject.AliasClause != null) { this.alias = resultColumnObject.AliasClause.ToString(); TSourceToken aliasStartToken = resultColumnObject.AliasClause.startToken; TSourceToken aliasEndToken = resultColumnObject.AliasClause.endToken; this.aliasStartPosition = new Tuple <long, long>(aliasStartToken.lineNo, aliasStartToken.columnNo); this.aliasEndPosition = new Tuple <long, long>(aliasEndToken.lineNo, aliasEndToken.columnNo + aliasEndToken.astext.Length); this.name = this.alias; } else { if (resultColumnObject.Expr.ExpressionType == EExpressionType.simple_constant_t) { this.name = resultColumnObject.ToString(); } else if (resultColumnObject.Expr.ExpressionType == EExpressionType.sqlserver_proprietary_column_alias_t) { TSourceToken startToken1 = resultColumnObject.Expr .LeftOperand .startToken; TSourceToken endToken1 = resultColumnObject.Expr .LeftOperand .endToken; this.alias = resultColumnObject.Expr .LeftOperand .ToString(); this.aliasStartPosition = new Tuple <long, long>(startToken1.lineNo, startToken1.columnNo); this.aliasEndPosition = new Tuple <long, long>(endToken1.lineNo, endToken1.columnNo + endToken1.astext.Length); this.name = this.alias; } else if (resultColumnObject.Expr.ExpressionType == EExpressionType.function_t) { this.name = resultColumnObject.Expr .FunctionCall .FunctionName .ToString(); } else if (resultColumnObject.ColumnNameOnly != null && !"".Equals(resultColumnObject.ColumnNameOnly)) { this.name = resultColumnObject.ColumnNameOnly; } else { this.name = resultColumnObject.ToString(); } } if (resultColumnObject.Expr.ExpressionType == EExpressionType.function_t) { this.fullName = resultColumnObject.Expr .FunctionCall .FunctionName .ToString(); } else { this.fullName = resultColumnObject.ToString(); } TSourceToken startToken = resultColumnObject.startToken; TSourceToken endToken = resultColumnObject.endToken; this.startPosition = new Tuple <long, long>(startToken.lineNo, startToken.columnNo); this.endPosition = new Tuple <long, long>(endToken.lineNo, endToken.columnNo + endToken.astext.Length); }
public SelectSetResultColumn(ResultSet resultSet, ResultColumn resultColumn) { if (resultColumn == null || resultSet == null) { throw new System.ArgumentException("ResultColumn arguments can't be null."); } id = ++TableColumn.TABLE_COLUMN_ID; this.resultSet = resultSet; resultSet.addColumn(this); if (resultColumn.ColumnObject is TResultColumn) { TResultColumn resultColumnObject = (TResultColumn)resultColumn.ColumnObject; if (resultColumnObject.AliasClause != null) { this.alias = resultColumnObject.AliasClause.ToString(); TSourceToken aliasStartToken = resultColumnObject.AliasClause.startToken; TSourceToken aliasEndToken = resultColumnObject.AliasClause.endToken; this.aliasStartPosition = new Tuple <long, long>(aliasStartToken.lineNo, aliasStartToken.columnNo); this.aliasEndPosition = new Tuple <long, long>(aliasEndToken.lineNo, aliasEndToken.columnNo + aliasEndToken.astext.Length); this.name = this.alias; } else { if (resultColumnObject.Expr.ExpressionType == EExpressionType.simple_constant_t) { if (resultSet is SelectResultSet) { this.name = "DUMMY" + getIndexOf(((SelectResultSet)resultSet).ResultColumnObject, resultColumnObject); } else if (resultSet is SelectSetResultSet) { this.name = "DUMMY" + getIndexOf(((SelectSetResultSet)resultSet).ResultColumnObject, resultColumnObject); } else { this.name = resultColumnObject.ToString(); } } else if (resultColumnObject.Expr.ExpressionType == EExpressionType.function_t) { this.name = resultColumnObject.Expr.FunctionCall.FunctionName.ToString(); } else if (resultColumnObject.ColumnNameOnly != null && !"".Equals(resultColumnObject.ColumnNameOnly)) { this.name = resultColumnObject.ColumnNameOnly; } else { this.name = resultColumnObject.ToString(); } } if (resultColumnObject.Expr.ExpressionType == EExpressionType.function_t) { this.fullName = resultColumnObject.Expr.FunctionCall.FunctionName.ToString(); } else { this.fullName = resultColumnObject.ToString(); } TSourceToken startToken = resultColumnObject.startToken; TSourceToken endToken = resultColumnObject.endToken; this.startPosition = new Tuple <long, long>(startToken.lineNo, startToken.columnNo); this.endPosition = new Tuple <long, long>(endToken.lineNo, endToken.columnNo + endToken.astext.Length); this.columnObject = resultColumnObject; } else if (resultColumn.ColumnObject is TObjectName) { TObjectName resultColumnObject = (TObjectName)resultColumn.ColumnObject; if (resultColumnObject.ColumnNameOnly != null && !"".Equals(resultColumnObject.ColumnNameOnly)) { this.name = resultColumnObject.ColumnNameOnly; } else { this.name = resultColumnObject.ToString(); } this.fullName = this.name; TSourceToken startToken = resultColumnObject.startToken; TSourceToken endToken = resultColumnObject.endToken; this.startPosition = new Tuple <long, long>(startToken.lineNo, startToken.columnNo); this.endPosition = new Tuple <long, long>(endToken.lineNo, endToken.columnNo + endToken.astext.Length); this.columnObject = resultColumnObject; } else { this.name = resultColumn.Name; this.fullName = this.name; TSourceToken startToken = resultColumn.ColumnObject.startToken; TSourceToken endToken = resultColumn.ColumnObject.endToken; this.startPosition = new Tuple <long, long>(startToken.lineNo, startToken.columnNo); this.endPosition = new Tuple <long, long>(endToken.lineNo, endToken.columnNo + endToken.astext.Length); this.columnObject = resultColumn.ColumnObject; } }