Exemplo n.º 1
0
 public override void Resolve(Session session, RangeVariable[] rangeVars)
 {
     base.Resolve(session, rangeVars);
     if (this._statement != null)
     {
         this._statement.Resolve(session, rangeVars);
         base.ReadTableNames  = this._statement.GetTableNamesForRead();
         base.WriteTableNames = this._statement.GetTableNamesForWrite();
     }
     if (!this._conditionNames.IsEmpty())
     {
         int[]          indexes   = new int[this._conditionNames.Size()];
         ColumnSchema[] variables = new ColumnSchema[this._conditionNames.Size()];
         StatementSet.SetVariables(rangeVars, this._conditionNames, indexes, variables);
         for (int i = 0; i < this._conditionNames.Size(); i++)
         {
             ColumnSchema schema1 = variables[i];
             if (schema1 == null)
             {
                 throw Error.GetError(0x19e0, this._conditionNames.Get(i));
             }
             FwNs.Core.LC.cStatements.Condition condition = (FwNs.Core.LC.cStatements.Condition)schema1.GetDefaultExpression().GetValue(session);
             if (condition.IsSqlState)
             {
                 this._conditionStates.Add(condition.SqlState);
             }
             else
             {
                 this._conditionErroCodes.Add((int)condition.ErrNo.GetValue(session, SqlType.SqlInteger));
             }
         }
     }
 }