Module | Sequel::MySQL
In: | lib/sequel/adapters/mysql.rb lib/sequel/adapters/shared/mysql.rb

Module for holding all MySQL-related classes and modules for Sequel.

### Methods

convert_date_time

### Classes and Modules

Module Sequel::MySQL::DatabaseMethods
Module Sequel::MySQL::DatasetMethods
Class Sequel::MySQL::Database
Class Sequel::MySQL::Dataset

### Constants

MYSQL_TYPES | = | {} |  | Mapping of type numbers to conversion procs

MYSQL_TYPE_PROCS

=

{ [0, 246] => lambda{|v| BigDecimal.new(v)}, # decimal [1] => lambda{|v| convert_tinyint_to_bool ? v.to_i != 0 : v.to_i}, # tinyint [2, 3, 8, 9, 13, 247, 248] => lambda{|v| v.to_i}, # integer [4, 5] => lambda{|v| v.to_f}, # float [10, 14] => lambda{|v| convert_date_time(:string_to_date, v)}, # date [7, 12] => lambda{|v| convert_date_time(:database_to_application_timestamp, v)}, # datetime [11] => lambda{|v| convert_date_time(:string_to_time, v)}, # time [249, 250, 251, 252] => lambda{|v| Sequel::SQL::Blob.new(v)}

Use only a single proc for each type to save on memory

### Attributes

convert_invalid_date_time | [RW] | By default, Sequel raises an exception if in invalid date or time is used. However, if this is set to nil or :nil, the adapter treats dates like 0000-00-00 and times like 838:00:00 as nil values. If set to :string, it returns the strings as is.
convert_tinyint_to_bool | [RW] | Sequel converts the column type tinyint(1) to a boolean by default when using the native MySQL or Mysql2 adapter. You can turn off the conversion by setting this to false. This setting is ignored when connecting to MySQL via the do or jdbc adapters, both of which automatically do the conversion.
default_charset | [RW] | Set the default charset used for CREATE TABLE. You can pass the :charset option to create_table to override this setting.
default_collate | [RW] | Set the default collation used for CREATE TABLE. You can pass the :collate option to create_table to override this setting.
default_engine | [RW] | Set the default engine used for CREATE TABLE. You can pass the :engine option to create_table to override this setting.

### Public Class methods

convert_date_time(meth, v)

If convert_invalid_date_time is nil, :nil, or :string and the conversion raises an InvalidValue exception, return v if :string and nil otherwise.

[Source]

        # File lib/sequel/adapters/mysql.rb, line 44
    44:     def self.convert_date_time(meth, v)
    45:       begin
    46:         Sequel.send(meth, v)
    47:       rescue InvalidValue
    48:         case @convert_invalid_date_time
    49:         when nil, :nil
    50:           nil
    51:         when :string
    52:           v
    53:         else
    54:           raise
    55:         end
    56:       end
    57:     end

[Validate]