# File lib/active_record/connection_adapters/oci_adapter.rb, line 212
        def columns(table_name, name = nil)
          select_all(%Q{
              select column_name, data_type, data_default, data_length, data_scale
              from user_catalog cat, user_synonyms syn, all_tab_columns col
              where cat.table_name = '#{table_name.upcase}'
              and syn.synonym_name (+)= cat.table_name
              and col.owner = nvl(syn.table_owner, user)
              and col.table_name = nvl(syn.table_name, cat.table_name)}
          ).map do |row|
            OCIColumn.new(
              oci_downcase(row['column_name']), 
              row['data_default'],
              row['data_length'], 
              row['data_type'], 
              row['data_scale']
            )
          end
        end