Class: Axiom::SQL::Generator::Relation::Materialized
- Inherits:
-
Axiom::SQL::Generator::Relation
- Object
- Visitor
- Axiom::SQL::Generator::Relation
- Axiom::SQL::Generator::Relation::Materialized
- Includes:
- Literal
- Defined in:
- lib/axiom/sql/generator/relation/materialized.rb
Overview
Generates an SQL statement for materialized relation
Constant Summary
Constants included from Literal
Literal::ESCAPED_QUOTE, Literal::FALSE, Literal::NULL, Literal::QUOTE, Literal::SEPARATOR, Literal::TIME_SCALE, Literal::TRUE
Constants inherited from Axiom::SQL::Generator::Relation
EMPTY_HASH, EMPTY_STRING, SEPARATOR, STAR
Constants included from Identifier
Identifier::ESCAPED_QUOTE, Identifier::QUOTE
Constants inherited from Visitor
Visitor::DOUBLE_COLON, Visitor::NAME_REP, Visitor::NAME_SEP_REGEXP, Visitor::UNDERSCORE
Instance Attribute Summary
Attributes inherited from Axiom::SQL::Generator::Relation
Instance Method Summary collapse
-
#visit_axiom_relation_materialized(materialized) ⇒ self
private
Visit a Materialized relation.
-
#visited? ⇒ Boolean
Test if a visitable object has been visited.
Methods included from Literal
dup_frozen, #visit_class, #visit_date, #visit_date_time, #visit_enumerable, #visit_false_class, #visit_nil_class, #visit_numeric, #visit_string, #visit_time, #visit_true_class
Methods inherited from Axiom::SQL::Generator::Relation
#initialize, #to_s, #to_sql, #to_subquery, visit, #visit
Methods included from Identifier
Methods included from Attribute
Methods inherited from Visitor
Constructor Details
This class inherits a constructor from Axiom::SQL::Generator::Relation
Instance Method Details
#visit_axiom_relation_materialized(materialized) ⇒ self
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Visit a Materialized relation
19 20 21 22 23 24 25 26 |
# File 'lib/axiom/sql/generator/relation/materialized.rb', line 19 def visit_axiom_relation_materialized(materialized) @values = materialized.map do |tuple| Generator.parenthesize!( tuple.to_ary.map { |value| dispatch(value) }.join(', ') ) end self end |
#visited? ⇒ Boolean
Test if a visitable object has been visited
36 37 38 |
# File 'lib/axiom/sql/generator/relation/materialized.rb', line 36 def visited? instance_variable_defined?(:@values) end |