class Sequel::Mysql2::Dataset

Dataset class for MySQL datasets accessed via the native driver.

Public Instance Methods

fetch_rows(sql) { |h| ... } click to toggle source

Yield all rows matching this dataset.

# File lib/sequel/adapters/mysql2.rb, line 136
def fetch_rows(sql)
  execute(sql) do |r|
    @columns = if identifier_output_method
      r.fields.map!{|c| output_identifier(c.to_s)}
    else
      r.fields
    end
    r.each(:cast_booleans=>convert_tinyint_to_bool?){|h| yield h}
  end
  self
end

Private Instance Methods

convert_tinyint_to_bool?() click to toggle source

Whether to cast tinyint(1) columns to integer instead of boolean. By default, uses the opposite of the database's convert_tinyint_to_bool setting. Exists for compatibility with the mysql adapter.

# File lib/sequel/adapters/mysql2.rb, line 153
def convert_tinyint_to_bool?
  @db.convert_tinyint_to_bool
end
execute(sql, opts={}, &block) click to toggle source

Set the :type option to :select if it hasn't been set.

Calls superclass method Sequel::Dataset#execute
# File lib/sequel/adapters/mysql2.rb, line 158
def execute(sql, opts={}, &block)
  super(sql, {:type=>:select}.merge(opts), &block)
end
literal_string_append(sql, v) click to toggle source

Handle correct quoting of strings using ::Mysql2::Client#escape.

# File lib/sequel/adapters/mysql2.rb, line 163
def literal_string_append(sql, v)
  sql << "'" << db.synchronize{|c| c.escape(v)} << "'"
end