Пример #1
0
        // remove tuples that satisfy predicate
        public void Delete(string heading, Func <Tup, bool> selfunc)
        {
            var head = CommonHeading.Create(heading);
            var map  = head.CreateMap(Heading);

            Value = new RelValue(Heading, Value.Where(t => !selfunc(RelStatic.CreateByMap <Tup>(t, map))));
        }
Пример #2
0
        // update tuples that satisfy predicate
        public void Update(string heading, Func <Tup, bool> selfunc, object newvalue)
        {
            // map for selection tuple
            var head1 = CommonHeading.Create(heading);
            var map1  = head1.CreateMap(Heading);
            // map for replace tuple
            var head2 = Heading.Remove(head1.Fields.Last()).Append(CommonField.Empty);
            var map2  = head2.CreateMap(Heading);

            Value = new RelValue(Heading, Value.Select(t => selfunc(RelStatic.CreateByMap <Tup>(t, map1))
        ? RelStatic.CreateByMap <Tup>(t, map2, newvalue) : t));
        }
Пример #3
0
 public RelVar(RelNode node)
 {
     Value = new RelValue(node);
 }
Пример #4
0
 public void Insert(RelNode node)
 {
     Value = new RelValue(Heading, Value.Body.Union(node));
 }
Пример #5
0
 public RelVar()
 {
     Value = new RelValue();
 }