aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorNick Kallen <nkallen@nick-kallens-computer-2.local>2008-01-05 16:04:41 -0800
committerNick Kallen <nkallen@nick-kallens-computer-2.local>2008-01-05 16:04:41 -0800
commitb8a4dabab94bfaa73ec031337ce9ef9abd798383 (patch)
treecb04af99acd16c8e7ca9e6b731a78d69358229bd /lib
parent648209d11f16243a9f073b177e6b32ce8c094408 (diff)
downloadrails-b8a4dabab94bfaa73ec031337ce9ef9abd798383.tar.gz
rails-b8a4dabab94bfaa73ec031337ce9ef9abd798383.tar.bz2
rails-b8a4dabab94bfaa73ec031337ce9ef9abd798383.zip
quoting
Diffstat (limited to 'lib')
-rw-r--r--lib/sql_algebra/extensions/object.rb2
-rw-r--r--lib/sql_algebra/relations/inner_join_relation.rb1
-rw-r--r--lib/sql_algebra/relations/join_relation.rb2
-rw-r--r--lib/sql_algebra/relations/left_outer_join_relation.rb1
-rw-r--r--lib/sql_algebra/sql_builder/equals_condition_builder.rb2
-rw-r--r--lib/sql_algebra/sql_builder/join_builder.rb2
-rw-r--r--lib/sql_algebra/sql_builder/order_builder.rb2
-rw-r--r--lib/sql_algebra/sql_builder/select_builder.rb2
-rw-r--r--lib/sql_algebra/sql_builder/selects_builder.rb2
-rw-r--r--lib/sql_algebra/sql_builder/sql_builder.rb7
10 files changed, 16 insertions, 7 deletions
diff --git a/lib/sql_algebra/extensions/object.rb b/lib/sql_algebra/extensions/object.rb
index 6ea66d7484..c241581f86 100644
--- a/lib/sql_algebra/extensions/object.rb
+++ b/lib/sql_algebra/extensions/object.rb
@@ -6,7 +6,7 @@ class Object
def to_sql(builder = EqualsConditionBuilder.new)
me = self
builder.call do
- value me
+ value me.to_s
end
end
end \ No newline at end of file
diff --git a/lib/sql_algebra/relations/inner_join_relation.rb b/lib/sql_algebra/relations/inner_join_relation.rb
index 6b932e3b21..5e58f241f8 100644
--- a/lib/sql_algebra/relations/inner_join_relation.rb
+++ b/lib/sql_algebra/relations/inner_join_relation.rb
@@ -1,4 +1,5 @@
class InnerJoinRelation < JoinRelation
+ protected
def join_type
:inner_join
end
diff --git a/lib/sql_algebra/relations/join_relation.rb b/lib/sql_algebra/relations/join_relation.rb
index 6dd63ad117..79c8a915b8 100644
--- a/lib/sql_algebra/relations/join_relation.rb
+++ b/lib/sql_algebra/relations/join_relation.rb
@@ -12,7 +12,7 @@ class JoinRelation < Relation
end
def qualify
- JoinRelation.new(relation1.qualify, relation2.qualify, *predicates.collect(&:qualify))
+ self.class.new(relation1.qualify, relation2.qualify, *predicates.collect(&:qualify))
end
protected
diff --git a/lib/sql_algebra/relations/left_outer_join_relation.rb b/lib/sql_algebra/relations/left_outer_join_relation.rb
index f4ece43861..6d13d8da07 100644
--- a/lib/sql_algebra/relations/left_outer_join_relation.rb
+++ b/lib/sql_algebra/relations/left_outer_join_relation.rb
@@ -1,4 +1,5 @@
class LeftOuterJoinRelation < JoinRelation
+ protected
def join_type
:left_outer_join
end
diff --git a/lib/sql_algebra/sql_builder/equals_condition_builder.rb b/lib/sql_algebra/sql_builder/equals_condition_builder.rb
index 016395556a..70067c20ca 100644
--- a/lib/sql_algebra/sql_builder/equals_condition_builder.rb
+++ b/lib/sql_algebra/sql_builder/equals_condition_builder.rb
@@ -5,7 +5,7 @@ class EqualsConditionBuilder < SqlBuilder
end
def column(table, column, aliaz = nil)
- @operands << (aliaz ? aliaz : "#{table}.#{column}")
+ @operands << (aliaz ? quote(aliaz) : "#{quote_table_name(table)}.#{quote_column_name(column)}")
end
def value(value)
diff --git a/lib/sql_algebra/sql_builder/join_builder.rb b/lib/sql_algebra/sql_builder/join_builder.rb
index 28f4437dec..ef63d1fcb1 100644
--- a/lib/sql_algebra/sql_builder/join_builder.rb
+++ b/lib/sql_algebra/sql_builder/join_builder.rb
@@ -8,6 +8,6 @@ class JoinBuilder < SqlBuilder
delegate :call, :to => :@conditions
def to_s
- "#{join_type} #{@table} ON #{@conditions}"
+ "#{join_type} #{quote_table_name(@table)} ON #{@conditions}"
end
end \ No newline at end of file
diff --git a/lib/sql_algebra/sql_builder/order_builder.rb b/lib/sql_algebra/sql_builder/order_builder.rb
index 4eea40fa36..43f705faf0 100644
--- a/lib/sql_algebra/sql_builder/order_builder.rb
+++ b/lib/sql_algebra/sql_builder/order_builder.rb
@@ -5,7 +5,7 @@ class OrderBuilder < SqlBuilder
end
def column(table, column, aliaz = nil)
- @orders << (aliaz ? aliaz : "#{table}.#{column}")
+ @orders << (aliaz ? quote(aliaz) : "#{quote_table_name(table)}.#{quote_column_name(column)}")
end
def to_s
diff --git a/lib/sql_algebra/sql_builder/select_builder.rb b/lib/sql_algebra/sql_builder/select_builder.rb
index 68df68db93..9a85ad7eec 100644
--- a/lib/sql_algebra/sql_builder/select_builder.rb
+++ b/lib/sql_algebra/sql_builder/select_builder.rb
@@ -41,7 +41,7 @@ class SelectBuilder < SqlBuilder
end
def from_clause
- "FROM #{@table} #{@joins}" unless @table.blank?
+ "FROM #{quote_table_name(@table)} #{@joins}" unless @table.blank?
end
def where_clause
diff --git a/lib/sql_algebra/sql_builder/selects_builder.rb b/lib/sql_algebra/sql_builder/selects_builder.rb
index 72f6f52397..ce6ee1eb67 100644
--- a/lib/sql_algebra/sql_builder/selects_builder.rb
+++ b/lib/sql_algebra/sql_builder/selects_builder.rb
@@ -13,7 +13,7 @@ class SelectsBuilder < SqlBuilder
end
def column(table, column, aliaz = nil)
- @selects << "#{table}.#{column}" + (aliaz ? " AS #{aliaz}" : '')
+ @selects << "#{quote_table_name(table)}.#{quote_column_name(column)}" + (aliaz ? " AS #{quote(aliaz)}" : '')
end
delegate :blank?, :to => :@selects
diff --git a/lib/sql_algebra/sql_builder/sql_builder.rb b/lib/sql_algebra/sql_builder/sql_builder.rb
index 5cfbe578d5..c984444e41 100644
--- a/lib/sql_algebra/sql_builder/sql_builder.rb
+++ b/lib/sql_algebra/sql_builder/sql_builder.rb
@@ -25,4 +25,11 @@ class SqlBuilder
end
end
end
+
+ private
+ delegate :quote_table_name, :quote_column_name, :quote, :to => :connection
+
+ def connection
+ ActiveRecord::Base.connection
+ end
end \ No newline at end of file