aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-09-16 03:32:47 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-09-16 03:32:47 +0000
commit30fb7b8c8bfc72ed3097352539544c07cbb38d0d (patch)
tree10b9d6b1d6ec2c792b8a503bf297a6a4e196ae68 /activerecord/lib/active_record/connection_adapters/db2_adapter.rb
parent78da29a84f886386c73768fa60609a0090a3a250 (diff)
downloadrails-30fb7b8c8bfc72ed3097352539544c07cbb38d0d.tar.gz
rails-30fb7b8c8bfc72ed3097352539544c07cbb38d0d.tar.bz2
rails-30fb7b8c8bfc72ed3097352539544c07cbb38d0d.zip
connection.select_rows 'sql' returns an array (rows) of arrays (field values). Closes #2329.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7497 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/db2_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/db2_adapter.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/db2_adapter.rb b/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
index 7a3cd22789..c496132fc0 100644
--- a/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
@@ -48,6 +48,21 @@ begin
end
end
+ def select_rows(sql, name = nil)
+ stmt = nil
+ log(sql, name) do
+ stmt = DB2::Statement.new(@connection)
+ stmt.exec_direct("#{sql.gsub(/=\s*null/i, 'IS NULL')} with ur")
+ end
+
+ rows = []
+ while row = stmt.fetch
+ rows << row
+ end
+ stmt.free
+ rows
+ end
+
def insert(sql, name = nil, pk = nil, id_value = nil, sequence_name = nil)
execute(sql, name = nil)
id_value || last_insert_id