aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/algebra/expression.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/algebra/expression.rb')
-rw-r--r--lib/arel/algebra/expression.rb56
1 files changed, 0 insertions, 56 deletions
diff --git a/lib/arel/algebra/expression.rb b/lib/arel/algebra/expression.rb
deleted file mode 100644
index 32cf4f12c9..0000000000
--- a/lib/arel/algebra/expression.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-module Arel
- class Expression < Attribute
- attr_reader :attribute
- alias :name :alias
-
- def initialize(attribute, aliaz = nil, ancestor = nil)
- super(attribute.relation, aliaz, :alias => aliaz, :ancestor => ancestor)
- @attribute = attribute
- end
-
- def aggregation?
- true
- end
-
- def to_sql(formatter = Sql::SelectClause.new(relation))
- formatter.expression self
- end
-
- def as(aliaz)
- self.class.new(attribute, aliaz, self)
- end
-
- def bind(new_relation)
- new_relation == relation ? self : self.class.new(attribute.bind(new_relation), @alias, self)
- end
-
- def to_attribute(relation)
- Attribute.new(relation, @alias, :ancestor => self)
- end
- end
-
- class Count < Expression
- def function_sql; 'COUNT' end
- end
-
- class Distinct < Expression
- def function_sql; 'DISTINCT' end
- end
-
- class Sum < Expression
- def function_sql; 'SUM' end
- end
-
- class Maximum < Expression
- def function_sql; 'MAX' end
- end
-
- class Minimum < Expression
- def function_sql; 'MIN' end
- end
-
- class Average < Expression
- def function_sql; 'AVG' end
- end
-end
-