Module: Sequel::MySQL
- Defined in:
- lib/sequel/adapters/mysql.rb,
lib/sequel/adapters/shared/mysql.rb
Overview
Module for holding all MySQL-related classes and modules for Sequel.
Defined Under Namespace
Modules: DatabaseMethods, DatasetMethods Classes: Database, Dataset
Constant Summary collapse
- MYSQL_TYPES =
Mapping of type numbers to conversion procs
{}
- MYSQL_TYPE_PROCS =
Use only a single proc for each type to save on memory
{ [0, 246] => lambda{|v| BigDecimal.new(v)}, # decimal [1, 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| @zero_date_time_behavior_convert_to_null ? trap_bad_date_time(v) : Sequel.string_to_date(v)}, # date [7, 12] => lambda{|v| @zero_date_time_behavior_convert_to_null ? trap_bad_date_time(v) : Sequel.string_to_datetime(v)}, # datetime [11] => lambda{|v| @zero_date_time_behavior_convert_to_null ? trap_bad_date_time(v) : Sequel.string_to_time(v)}, # time [249, 250, 251, 252] => lambda{|v| Sequel::SQL::Blob.new(v)} # blob }
Class Attribute Summary collapse
-
.default_charset ⇒ Object
Set the default options used for CREATE TABLE.
-
.default_collate ⇒ Object
Set the default options used for CREATE TABLE.
-
.default_engine ⇒ Object
Set the default options used for CREATE TABLE.
-
.zero_date_time_behavior_convert_to_null ⇒ Object
Similar to the JDBC parameter zeroDateTimeBehavior=convertToNull, handles dates 0000-00-00 and times like 00:00:00 and converts to null.
Class Method Summary collapse
Class Attribute Details
.default_charset ⇒ Object
Set the default options used for CREATE TABLE
11 12 13 |
# File 'lib/sequel/adapters/shared/mysql.rb', line 11 def default_charset @default_charset end |
.default_collate ⇒ Object
Set the default options used for CREATE TABLE
11 12 13 |
# File 'lib/sequel/adapters/shared/mysql.rb', line 11 def default_collate @default_collate end |
.default_engine ⇒ Object
Set the default options used for CREATE TABLE
11 12 13 |
# File 'lib/sequel/adapters/shared/mysql.rb', line 11 def default_engine @default_engine end |
.zero_date_time_behavior_convert_to_null ⇒ Object
Similar to the JDBC parameter zeroDateTimeBehavior=convertToNull, handles dates 0000-00-00 and times like 00:00:00 and converts to null
29 30 31 |
# File 'lib/sequel/adapters/mysql.rb', line 29 def zero_date_time_behavior_convert_to_null @zero_date_time_behavior_convert_to_null end |
Class Method Details
.trap_bad_date_time(v) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/sequel/adapters/mysql.rb', line 31 def trap_bad_date_time(v) result = nil begin result = Sequel.string_to_date(v) rescue Sequel::Error::InvalidValue end result end |