aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/db2_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/db2_adapter.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/db2_adapter.rb b/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
index 515444a21e..888b1a8086 100644
--- a/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/db2_adapter.rb
@@ -112,16 +112,18 @@ begin
def tables(name = nil)
result = []
+ schema = @connection_options[:schema] || '%'
with_statement do |stmt|
- stmt.tables.each { |t| result << t[2].downcase }
+ stmt.tables(schema).each { |t| result << t[2].downcase }
end
result
end
def indexes(table_name, name = nil)
tmp = {}
+ schema = @connection_options[:schema] || ''
with_statement do |stmt|
- stmt.indexes(table_name.upcase).each do |t|
+ stmt.indexes(table_name, schema).each do |t|
next unless t[5]
next if t[4] == 'SYSIBM' # Skip system indexes.
idx_name = t[5].downcase
@@ -139,8 +141,9 @@ begin
def columns(table_name, name = nil)
result = []
+ schema = @connection_options[:schema] || '%'
with_statement do |stmt|
- stmt.columns(table_name.upcase).each do |c|
+ stmt.columns(table_name, schema).each do |c|
c_name = c[3].downcase
c_default = c[12] == 'NULL' ? nil : c[12]
c_type = c[5].downcase