class Mysql::Result
@!visibility public Result set for simple query
Public Class Methods
Source
# File lib/mysql/result.rb, line 138 def initialize(fields, protocol=nil, **opts) super fields, protocol, RawRecord, **opts return unless protocol fields.each{|f| f.result = self} # for calculating max_field retrieve if @opts.merge(opts)[:auto_store_result] end
@private @param [Array<Mysql::Field>] fields @param [Mysql::Protocol] protocol
Calls superclass method
Mysql::ResultBase::new
Public Instance Methods
Source
# File lib/mysql/result.rb, line 154 def calculate_field_max_length return unless @records max_length = Array.new(@fields.size, 0) @records.each_with_index do |rec, i| rec = @records[i] = rec.to_a if rec.is_a? RawRecord max_length.each_index do |j| max_length[j] = rec[j].to_s.length if rec[j] && rec[j].to_s.length > max_length[j] end end max_length.each_with_index do |len, i| @fields[i].max_length = len end end
@private calculate max_length of all fields
Source
# File lib/mysql/result.rb, line 145 def fetch(**opts) rec = super rec = rec.map.with_index{|s, i| convert_type(@fields[i], s)} if rec && @opts.merge(opts)[:cast] rec end
Calls superclass method
Mysql::ResultBase#fetch
Also aliased as: fetch_row