module ActiveRecord::ConnectionAdapters::MySQL::Quoting
def cast_bound_value(value)
def cast_bound_value(value) case value when Rational value.to_f.to_s when Numeric value.to_s when BigDecimal value.to_s("F") when true "1" when false "0" else value end end
def quoted_binary(value)
def quoted_binary(value) "x'#{value.hex}'" end
def type_cast(value) # :nodoc:
of Strings since MySQL adapters are able to handle those classes more efficiently.
Override +type_cast+ we pass to mysql2 Date and Time objects instead
def type_cast(value) # :nodoc: case value when ActiveSupport::TimeWithZone # We need to check explicitly for ActiveSupport::TimeWithZone because # we need to transform it to Time objects but we don't want to # transform Time objects to themselves. if default_timezone == :utc value.getutc else value.getlocal end when Time if default_timezone == :utc value.utc? ? value : value.getutc else value.utc? ? value.getlocal : value end when Date value else super end end
def unquote_identifier(identifier)
def unquote_identifier(identifier) if identifier && identifier.start_with?("`") identifier[1..-2] else identifier end end
def unquoted_false
def unquoted_false 0 end
def unquoted_true
def unquoted_true 1 end