looking at ActiveRecord::ConnectionAdapters::Quoting
-> def quote(value, column = nil)
e.g. in the abstract adapter
def quoted_true
"''t''"
end
will be overwritten in the mysql_adapter with
def quoted_true
QUOTED_TRUE
end
I thought the adapters should overwrite these quoting methods,
so that the different data types will be converted in a format, the
database will understand.
One possible timestamp format for a Microsoft SQL server database
is the odbc format:
{ ts ''2010-07-20 23:59:59'' }
but the abstract adapter will tack some additional quotes to this
format
if value.acts_like?(:date) || value.acts_like?(:time)
"''#{quoted_date(value)}''"
and the this format will fail and the database reports an error.
Two possible solutions:
1. the abstract adapter will not tack any additional chars to the
format,
but forward all quotings ( quote_string, quote_true,
quote_date, ... )
to the physical adapter ( with some defaults in the abstract
adapter )
2. every adapter overwrites def quote(value, column = nil)
but this may lead to different quoting behaviours in the adapters.
Comments ?
Best regards
Klaus
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com.
To unsubscribe from this group, send email to
rubyonrails-core+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.