aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-07-30 15:15:03 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-07-30 15:15:03 -0700
commit23294241b10d162c3eb90353bfec5735711a7eab (patch)
tree6e94ea68ea52eb61ba90aa3fc04553fd565c7d1a
parentbef0d30e30b99c8e56325645a9f643b60ce3dff9 (diff)
downloadrails-23294241b10d162c3eb90353bfec5735711a7eab.tar.gz
rails-23294241b10d162c3eb90353bfec5735711a7eab.tar.bz2
rails-23294241b10d162c3eb90353bfec5735711a7eab.zip
PERF: reducing call stack
-rw-r--r--lib/arel/algebra/relations/utilities/compound.rb8
-rw-r--r--lib/arel/engines/sql/relations.rb1
-rw-r--r--lib/arel/engines/sql/relations/utilities/compound.rb10
3 files changed, 8 insertions, 11 deletions
diff --git a/lib/arel/algebra/relations/utilities/compound.rb b/lib/arel/algebra/relations/utilities/compound.rb
index 80ac0b1351..8a8f3ab609 100644
--- a/lib/arel/algebra/relations/utilities/compound.rb
+++ b/lib/arel/algebra/relations/utilities/compound.rb
@@ -18,6 +18,14 @@ module Arel
@projections = nil
end
+ def table
+ @relation.table
+ end
+
+ def table_sql(formatter = Sql::TableReference.new(self))
+ @relation.table_sql formatter
+ end
+
[:wheres, :groupings, :orders, :havings, :projections].each do |operation_name|
class_eval <<-OPERATION, __FILE__, __LINE__
def #{operation_name}
diff --git a/lib/arel/engines/sql/relations.rb b/lib/arel/engines/sql/relations.rb
index c692683421..d1711d058f 100644
--- a/lib/arel/engines/sql/relations.rb
+++ b/lib/arel/engines/sql/relations.rb
@@ -1,4 +1,3 @@
-require 'arel/engines/sql/relations/utilities/compound'
require 'arel/engines/sql/relations/utilities/nil'
require 'arel/engines/sql/relations/compiler'
require 'arel/engines/sql/relations/table'
diff --git a/lib/arel/engines/sql/relations/utilities/compound.rb b/lib/arel/engines/sql/relations/utilities/compound.rb
deleted file mode 100644
index 55853be742..0000000000
--- a/lib/arel/engines/sql/relations/utilities/compound.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Arel
- class Compound
- delegate :table, :table_sql, :to => :relation
-
- def build_query(*parts)
- parts.compact.join(" ")
- end
- end
-end
-