public SelectSetResultColumn(ResultSet resultSet, TResultColumn resultColumnObject) : base(resultSet, resultColumnObject) { if (resultColumnObject.AliasClause != null) { this.name = resultColumnObject.AliasClause.ToString(); } 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.ColumnNameOnly; } } else { this.name = resultColumnObject.ColumnNameOnly; } } this.fullName = this.name; }
private int getIndexOf(TResultColumnList resultColumnList, TResultColumn resultColumnObject) { for (int i = 0; i < resultColumnList.size(); i++) { if (resultColumnList.getResultColumn(i) == resultColumnObject) { return(i); } } return(-1); }
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; } }