提交 cb07e63b 编写于 作者: R Ryuta Kamizono

Refactor `quoted_date`

Move microseconds formatting to `AbstractAdapter`.
上级 81e940c3
......@@ -263,6 +263,16 @@ def index_algorithms
# QUOTING ==================================================
# Quote date/time values for use in SQL input. Includes microseconds
# if the value is a Time responding to usec.
def quoted_date(value) #:nodoc:
if value.acts_like?(:time) && value.respond_to?(:usec)
"#{super}.#{sprintf("%06d", value.usec)}"
else
super
end
end
# Returns a bind substitution value given a bind +column+
# NOTE: The column param is currently being used by the sqlserver-adapter
def substitute_at(column, _unused = 0)
......
......@@ -74,14 +74,6 @@ def quote_string(string)
@connection.escape(string)
end
def quoted_date(value)
if value.acts_like?(:time) && value.respond_to?(:usec)
"#{super}.#{sprintf("%06d", value.usec)}"
else
super
end
end
#--
# CONNECTION MANAGEMENT ====================================
#++
......
......@@ -43,16 +43,12 @@ def quote_column_name(name) #:nodoc:
# Quote date/time values for use in SQL input. Includes microseconds
# if the value is a Time responding to usec.
def quoted_date(value) #:nodoc:
result = super
if value.acts_like?(:time) && value.respond_to?(:usec)
result = "#{result}.#{sprintf("%06d", value.usec)}"
end
if value.year <= 0
bce_year = format("%04d", -value.year + 1)
result = result.sub(/^-?\d+/, bce_year) + " BC"
super.sub(/^-?\d+/, bce_year) + " BC"
else
super
end
result
end
# Does not quote function default values for UUID columns
......
......@@ -256,16 +256,6 @@ def quote_column_name(name) #:nodoc:
%Q("#{name.to_s.gsub('"', '""')}")
end
# Quote date/time values for use in SQL input. Includes microseconds
# if the value is a Time responding to usec.
def quoted_date(value) #:nodoc:
if value.respond_to?(:usec)
"#{super}.#{sprintf("%06d", value.usec)}"
else
super
end
end
#--
# DATABASE STATEMENTS ======================================
#++
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册