示例#1
0
 public void BurnBoundTables(SpoolSpace Memory)
 {
     foreach (string t in this._BoundTables)
     {
         Memory.Drop(t);
     }
 }
示例#2
0
        public override void Invoke(SpoolSpace Memory)
        {
            // Bind First
            this.Bind(Memory);

            // Invoke all
            this.InvokeChildren(Memory);

            Memory.Drop(this._Name);

            this.BurnBoundTables(Memory);
        }
示例#3
0
        public void Bind(SpoolSpace Context)
        {
            if (this._Parameters.Count != this._ParameterNames.Count)
            {
                throw new Exception(string.Format("Arguments for '{0}' are invalid; expecting {1} parameter(s) but recieved {2}", this._Name, this._ParameterNames.Count, this._Parameters.Count));
            }

            this.BindTables(Context);

            Context.Drop(this._Name);
            Context.Add(this._Name, new Spool.HeapSpindle(this._Name));

            for (int i = 0; i < this._ParameterNames.Count; i++)
            {
                Context[this._Name].Declare(this._ParameterNames[i], this._Parameters[i].Evaluate(Context));
            }
        }
示例#4
0
 private void ForEachTable(SpoolSpace Memory, Table Value)
 {
     //Memory[this._LibName].Declare(this._VarName, CellValues.NullARRAY);
     Memory.Add(this._VarName, new Spool.RecordSpindle(this._VarName, Value.Columns));
     using (RecordReader rr = Value.OpenReader())
     {
         while (rr.CanAdvance)
         {
             Memory[this._VarName].Set(rr.ReadNext());
             this.InvokeChildren(Memory);
             if (this.RaiseElement == RaiseAlert.Break || this.RaiseElement == RaiseAlert.Return || this.RaiseElement == RaiseAlert.Exit)
             {
                 break;
             }
         }
     }
     Memory.Drop(this._VarName);
 }
示例#5
0
 private void RemoveSpools(SpoolSpace Memory)
 {
     Memory.Drop(this._Parameters[0].NameOf());
 }
示例#6
0
 protected void RemoveSpools(SpoolSpace Memory)
 {
     Memory.Drop(this._Parameters[0].NameOf());
     Memory.Drop(this._Parameters[1].NameOf());
 }
示例#7
0
 private void RemoveSpools(SpoolSpace Memory)
 {
     Memory.Drop(this._SpoolName);
     Memory.Drop(this._SpoolNameLive);
 }