diff options
author | Jon Leighton <j@jonathanleighton.com> | 2012-09-28 17:55:35 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2012-09-28 18:08:14 +0100 |
commit | 144e8691cbfb8bba77f18cfe68d5e7fd48887f5e (patch) | |
tree | 161fc7cc2f7d1905c5ae6a9f761f65fd520116be /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | |
parent | f9c63ad56da541fa8fc007c01de64ed623053fd2 (diff) | |
download | rails-144e8691cbfb8bba77f18cfe68d5e7fd48887f5e.tar.gz rails-144e8691cbfb8bba77f18cfe68d5e7fd48887f5e.tar.bz2 rails-144e8691cbfb8bba77f18cfe68d5e7fd48887f5e.zip |
Support for partial inserts.
When inserting new records, only the fields which have been changed
from the defaults will actually be included in the INSERT statement.
The other fields will be populated by the database.
This is more efficient, and also means that it will be safe to
remove database columns without getting subsequent errors in running
app processes (so long as the code in those processes doesn't
contain any references to the removed column).
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index 1783b036a2..8c83c4f5db 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -30,6 +30,10 @@ module ActiveRecord super end + def explicit_default? + !null && (sql_type =~ /blob/i || type == :text) + end + # Must return the relevant concrete adapter def adapter raise NotImplementedError @@ -320,6 +324,10 @@ module ActiveRecord end end + def empty_insert_statement_value + "VALUES ()" + end + # SCHEMA STATEMENTS ======================================== def structure_dump #:nodoc: |