lib/bmg/operator/restrict.rb in bmg-0.19.3 vs lib/bmg/operator/restrict.rb in bmg-0.20.0
- old
+ new
@@ -30,9 +30,21 @@
@operand.each do |tuple|
yield(tuple) if @predicate.evaluate(tuple)
end
end
+ def insert(tuple)
+ operand.insert(tuple)
+ end
+
+ def update(updating, predicate = Predicate.tautology)
+ operand.update(updating, predicate & self.predicate)
+ end
+
+ def delete(predicate = Predicate.tautology)
+ operand.delete(predicate & self.predicate)
+ end
+
def to_ast
[ :restrict, operand.to_ast, predicate.sexpr ]
end
protected