class ODBCAdapter::DatabaseMetadata
Caches SQLGetInfo output
Constants
- FIELDS
Attributes
values[R]
Public Class Methods
new(connection, has_encoding_bug = false)
click to toggle source
has_encoding_bug refers to github.com/larskanis/ruby-odbc/issues/2 where ruby-odbc in UTF8 mode returns incorrectly encoded responses to getInfo
# File lib/odbc_adapter/database_metadata.rb, line 20 def initialize(connection, has_encoding_bug = false) @values = Hash[FIELDS.map do |field| info = connection.get_info(ODBC.const_get(field)) info = info.encode(Encoding.default_external, 'UTF-16LE') if info.is_a?(String) && has_encoding_bug [field, info] end] end
Public Instance Methods
adapter_class()
click to toggle source
# File lib/odbc_adapter/database_metadata.rb, line 29 def adapter_class ODBCAdapter.adapter_for(dbms_name) end
upcase_identifiers?()
click to toggle source
# File lib/odbc_adapter/database_metadata.rb, line 33 def upcase_identifiers? @upcase_identifiers ||= (identifier_case == ODBC::SQL_IC_UPPER) end
Private Instance Methods
value_for(field)
click to toggle source
# File lib/odbc_adapter/database_metadata.rb, line 47 def value_for(field) values[field] end