Deveel.Data.Sql.Statements.ColumnChecker.ExpressionChecker.VisitReference C# (CSharp) Method

VisitReference() public method

public VisitReference ( SqlReferenceExpression reference ) : SqlExpression
reference Deveel.Data.Sql.Expressions.SqlReferenceExpression
return Deveel.Data.Sql.Expressions.SqlExpression
            public override SqlExpression VisitReference(SqlReferenceExpression reference)
            {
                var refName = reference.ReferenceName;
                var origColumn = refName.Name;
                var resolvedColumn = checker.ResolveColumnName(origColumn);
                if (resolvedColumn == null)
                    throw new InvalidOperationException(String.Format("Column '{0} not found in table.", origColumn));

                if (!origColumn.Equals(resolvedColumn))
                    refName = new ObjectName(refName.Parent, resolvedColumn);

                return SqlExpression.Reference(refName);
            }