Skip to content

Commit

Permalink
PostgreSQL adapter should call thread safe quote_string function
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Koziarski <michael@koziarski.com>
  • Loading branch information
libc authored and NZKoz committed Jun 9, 2009
1 parent 99803b7 commit 74c1249
Showing 1 changed file with 14 additions and 2 deletions.
Expand Up @@ -288,7 +288,13 @@ def table_alias_length

# Escapes binary strings for bytea input to the database.
def escape_bytea(value)
if PGconn.respond_to?(:escape_bytea)
if @connection.respond_to?(:escape_bytea)
self.class.instance_eval do
define_method(:escape_bytea) do |value|
@connection.escape_bytea(value) if value
end
end
elsif PGconn.respond_to?(:escape_bytea)
self.class.instance_eval do
define_method(:escape_bytea) do |value|
PGconn.escape_bytea(value) if value
Expand Down Expand Up @@ -377,7 +383,13 @@ def quote(value, column = nil) #:nodoc:

# Quotes strings for use in SQL input in the postgres driver for better performance.
def quote_string(s) #:nodoc:
if PGconn.respond_to?(:escape)
if @connection.respond_to?(:escape)
self.class.instance_eval do
define_method(:quote_string) do |s|
@connection.escape(s)
end
end
elsif PGconn.respond_to?(:escape)
self.class.instance_eval do
define_method(:quote_string) do |s|
PGconn.escape(s)
Expand Down

0 comments on commit 74c1249

Please sign in to comment.