class ActiveRecord::ConnectionAdapters::OracleEnhanced::OCIConnection::Cursor
Public Class Methods
new(connection, raw_cursor)
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 109 def initialize(connection, raw_cursor) @connection = connection @raw_cursor = raw_cursor end
Public Instance Methods
bind_param(position, value)
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 126 def bind_param(position, value) case value when Type::OracleEnhanced::Raw @raw_cursor.bind_param(position, OracleEnhanced::Quoting.encode_raw(value)) when ActiveModel::Type::Decimal @raw_cursor.bind_param(position, BigDecimal(value.to_s)) when Type::OracleEnhanced::CharacterString::Data @raw_cursor.bind_param(position, value.to_character_str) when NilClass @raw_cursor.bind_param(position, nil, String) else @raw_cursor.bind_param(position, value) end end
bind_params(*bind_vars)
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 114 def bind_params(*bind_vars) index = 1 bind_vars.flatten.each do |var| if Hash === var var.each { |key, val| bind_param key, val } else bind_param index, var index += 1 end end end
bind_returning_param(position, bind_type)
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 141 def bind_returning_param(position, bind_type) @raw_cursor.bind_param(position, nil, bind_type) end
close()
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 181 def close @raw_cursor.close end
exec()
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 145 def exec @raw_cursor.exec end
exec_update()
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 149 def exec_update @raw_cursor.exec end
fetch(options = {})
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 157 def fetch(options = {}) if row = @raw_cursor.fetch get_lob_value = options[:get_lob_value] col_index = 0 row.map do |col| col_value = @connection.typecast_result_value(col, get_lob_value) col_metadata = @raw_cursor.column_metadata.fetch(col_index) if !col_metadata.nil? key = col_metadata.data_type case key.to_s.downcase when "char" col_value = col.to_s.rstrip end end col_index = col_index + 1 col_value end end end
get_col_names()
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 153 def get_col_names @raw_cursor.get_col_names end
get_returning_param(position, type)
click to toggle source
# File lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb, line 177 def get_returning_param(position, type) @raw_cursor[position] end