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);
 }
Esempio n. 6
0
        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;
        }