public void BurnBoundTables(SpoolSpace Memory) { foreach (string t in this._BoundTables) { Memory.Drop(t); } }
public override void Invoke(SpoolSpace Memory) { // Bind First this.Bind(Memory); // Invoke all this.InvokeChildren(Memory); Memory.Drop(this._Name); this.BurnBoundTables(Memory); }
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)); } }
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); }
private void RemoveSpools(SpoolSpace Memory) { Memory.Drop(this._Parameters[0].NameOf()); }
protected void RemoveSpools(SpoolSpace Memory) { Memory.Drop(this._Parameters[0].NameOf()); Memory.Drop(this._Parameters[1].NameOf()); }
private void RemoveSpools(SpoolSpace Memory) { Memory.Drop(this._SpoolName); Memory.Drop(this._SpoolNameLive); }