Beispiel #1
0
 public bool ResolveColumnReference(RangeVariable rangeVar)
 {
     if ((this.TableName == null) || rangeVar.IsVariable)
     {
         Expression columnExpression = rangeVar.GetColumnExpression(this.ColumnName);
         if (columnExpression != null)
         {
             base.OpType   = columnExpression.OpType;
             base.nodes    = columnExpression.nodes;
             base.DataType = columnExpression.DataType;
             return(true);
         }
         if (rangeVar.Variables != null)
         {
             string columnName = (this.TableName != null) ? string.Format("{0}.{1}", this.TableName, this.ColumnName) : this.ColumnName;
             int    i          = rangeVar.FindColumn(columnName);
             if (i == -1)
             {
                 return(false);
             }
             if (rangeVar.GetColumn(i).GetParameterMode() == 4)
             {
                 return(false);
             }
             base.OpType = rangeVar.IsVariable ? 6 : 7;
             this.SetAttributesAsColumn(rangeVar, i);
             return(true);
         }
     }
     if (rangeVar.ResolvesTableName(this))
     {
         int i = rangeVar.FindColumn(this.ColumnName);
         if (i != -1)
         {
             this.SetAttributesAsColumn(rangeVar, i);
             return(true);
         }
     }
     return(false);
 }
Beispiel #2
0
 private bool ResolvesDuplicateColumnReference(RangeVariable rangeVar)
 {
     if (this.TableName == null)
     {
         if (rangeVar.GetColumnExpression(this.ColumnName) != null)
         {
             return(false);
         }
         if (rangeVar.Variables != null)
         {
             int i = rangeVar.FindColumn(this.ColumnName);
             if (i == -1)
             {
                 return(false);
             }
             return(rangeVar.GetColumn(i).GetParameterMode() != 4);
         }
     }
     if (!rangeVar.ResolvesTableName(this))
     {
         return(false);
     }
     return(rangeVar.FindColumn(this.ColumnName) != -1);
 }