Class: Alf::Update::Updater
- Inherits:
-
Algebra::Compiler
- Object
- Algebra::Compiler
- Alf::Update::Updater
- Defined in:
- lib/alf-update/alf/update/updater.rb
Instance Method Summary collapse
-
#not_supported(expr, *args) ⇒ Object
(also: #on_autonum, #on_clip, #on_coerce, #on_compact, #on_defaults, #on_generator, #on_sort, #on_type_safe, #on_extend, #on_group, #on_infer_heading, #on_intersect, #on_join, #on_matching, #on_minus, #not_matching, #on_project, #on_quota, #on_rank, #on_rename, #on_summarize, #on_ungroup, #on_union, #on_unwrap, #on_wrap)
overridings.
-
#on_leaf_operand(expr, updating, predicate) ⇒ Object
leaf Operand, recursion end :-).
- #on_restrict(expr, updating, predicate) ⇒ Object
Methods inherited from Algebra::Compiler
Methods included from Algebra::Visitor
Instance Method Details
#not_supported(expr, *args) ⇒ Object Also known as: on_autonum, on_clip, on_coerce, on_compact, on_defaults, on_generator, on_sort, on_type_safe, on_extend, on_group, on_infer_heading, on_intersect, on_join, on_matching, on_minus, not_matching, on_project, on_quota, on_rank, on_rename, on_summarize, on_ungroup, on_union, on_unwrap, on_wrap
overridings
7 8 9 |
# File 'lib/alf-update/alf/update/updater.rb', line 7 def not_supported(expr, *args) raise NotSupportedError, "Unable to update through `#{expr}`" end |
#on_leaf_operand(expr, updating, predicate) ⇒ Object
leaf Operand, recursion end :-)
13 14 15 |
# File 'lib/alf-update/alf/update/updater.rb', line 13 def on_leaf_operand(expr, updating, predicate) expr.to_relvar.update(updating, predicate) end |
#on_restrict(expr, updating, predicate) ⇒ Object
43 44 45 |
# File 'lib/alf-update/alf/update/updater.rb', line 43 def on_restrict(expr, updating, predicate) apply(expr.operand, updating, expr.predicate & predicate) end |