public override void Put(StreamBase f) { base.Put(f); sce.Put(f); f.PutInt(where.Length); for (var b = where.First(); b != null; b = b.Next()) { b.Value.Put(f); } }
public override void Put(StreamBase f) { base.Put(f); source.Put(f); f.PutInt(groupby.Length); for (var b = groupby.First(); b != null; b = b.Next()) { f.PutString(b.Value.Item2); } f.PutInt(having.Length); for (var b = having.First(); b != null; b = b.Next()) { b.Value.Put(f); } }
public override void Put(StreamBase f) { base.Put(f); left.Put(f); f.PutInt(outer ? 1 : 0); f.PutInt((int)joinType); right.Put(f); f.PutInt((ons.Length + uses.Length) ?? 0); // at most one of these is nonzero for (var b = ons.First(); b != null; b = b.Next()) { b.Value.Put(f); } for (var b = uses.First(); b != null; b = b.Next()) { f.PutString(b.Value); } }
public override void Put(StreamBase f) { base.Put(f); f.WriteByte((byte)(distinct ? 1 : 0)); f.PutInt(display.Length); var ab = display.First(); for (var b = cpos.First(); ab != null && b != null; b = b.Next(), ab = ab.Next()) { f.PutString(ab.Value.Item2); b.Value.Item2.Put(f); } qry.Put(f); f.PutInt(order.Length.HasValue?order.Length.Value:0); for (var b = order.First(); b != null; b = b.Next()) { b.Value.Put(f); } }
public bool Matches(SList <SExpression> wh, Context cx) { cx = new Context(this, cx); for (var b = wh.First(); b != null; b = b.Next()) { if (b.Value.Lookup(cx) != SBoolean.True) { return(false); } } return(true); }
public override string ToString() { var sb = new StringBuilder("Index " + uid + " [" + table + "] ("); var cm = ""; for (var b = cols.First(); b != null; b = b.Next()) { sb.Append(cm); cm = ","; sb.Append("" + b.Value); } sb.Append(")"); return(sb.ToString()); }
public OrderedRowSet(RowSet sce, SList <TreeInfo <Serialisable> > ti, Context cx) : base(sce._tr, sce._qry, sce._aggregates, null) { _sce = sce; var t = new SMTree <Serialisable>(ti); var r = SDict <int, SRow> .Empty; int m = 0; for (var b = sce.First() as RowBookmark; b != null; b = b.Next() as RowBookmark) { var k = new Variant[ti.Length.Value]; var i = 0; for (var c = ti.First(); c != null; c = c.Next()) { k[i] = new Variant(c.Value.headName.Lookup(new Context(b, cx))); } t = t.Add(m, k); r += (m++, b._ob); } _tree = t; _rows = r; }