aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2013-07-17 09:51:22 +0200
committerYves Senn <yves.senn@gmail.com>2013-07-17 09:51:22 +0200
commitc212cfecb177338db21d2ecebbb66aa0787974f4 (patch)
tree05b9cf017096721f5f6980c8dbf192efceea4d13
parent6356d42093b10866f18d7bb21c442f1ccbd3c96c (diff)
downloadrails-c212cfecb177338db21d2ecebbb66aa0787974f4.tar.gz
rails-c212cfecb177338db21d2ecebbb66aa0787974f4.tar.bz2
rails-c212cfecb177338db21d2ecebbb66aa0787974f4.zip
Revert "Merge pull request #11120 from awilliams/ar_mysql2_boolean_quoting"
This reverts commit cb1d07e43926bcec95cb8b4a663ca9889173395a, reversing changes made to 754a373e301d2df0b12a11083405252722bc8366.
-rw-r--r--activerecord/CHANGELOG.md22
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb6
-rw-r--r--activerecord/lib/active_record/connection_adapters/mysql_adapter.rb6
-rw-r--r--activerecord/test/cases/adapters/mysql2/quoting_test.rb25
4 files changed, 6 insertions, 53 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md
index 8667f40406..8e262b5fd7 100644
--- a/activerecord/CHANGELOG.md
+++ b/activerecord/CHANGELOG.md
@@ -1,25 +1,3 @@
-* Fix bug when using Mysql2 adapter where in some cases, boolean values were
- being output in sql as `t` or `f` instead of `1` or `0`. Example:
-
- class Model < ActiveRecord::Base
- validates_uniqueness_of :boolean_col
- end
- Model.first.valid?
-
- Previously generated sql:
-
- SELECT 1 AS one FROM `models` WHERE
- `models`.`boolean_col` = BINARY 'f' LIMIT 1
-
- With fix:
-
- SELECT 1 AS one FROM `models` WHERE
- `models`.`boolean_col` = BINARY 0 LIMIT 1
-
- Fixes: #11119
-
- *Adam Williams*
-
* `change_column` for PostgreSQL adapter respects the `:array` option.
*Yves Senn*
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 be42d7e3c6..5b25b26164 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -272,12 +272,6 @@ module ActiveRecord
QUOTED_FALSE
end
- def type_cast(value, column)
- return super unless value == true || value == false
-
- value ? 1 : 0
- end
-
# REFERENTIAL INTEGRITY ====================================
def disable_referential_integrity(&block) #:nodoc:
diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
index be0eb64efd..1826d88500 100644
--- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
@@ -160,6 +160,12 @@ module ActiveRecord
# QUOTING ==================================================
+ def type_cast(value, column)
+ return super unless value == true || value == false
+
+ value ? 1 : 0
+ end
+
def quote_string(string) #:nodoc:
@connection.quote(string)
end
diff --git a/activerecord/test/cases/adapters/mysql2/quoting_test.rb b/activerecord/test/cases/adapters/mysql2/quoting_test.rb
deleted file mode 100644
index 90157b088b..0000000000
--- a/activerecord/test/cases/adapters/mysql2/quoting_test.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-require "cases/helper"
-
-module ActiveRecord
- module ConnectionAdapters
- class Mysql2Adapter
- class QuotingTest < ActiveRecord::TestCase
- def setup
- @conn = ActiveRecord::Base.connection
- end
-
- def test_type_cast_true
- c = Column.new(nil, 1, 'boolean')
- assert_equal 1, @conn.type_cast(true, nil)
- assert_equal 1, @conn.type_cast(true, c)
- end
-
- def test_type_cast_false
- c = Column.new(nil, 1, 'boolean')
- assert_equal 0, @conn.type_cast(false, nil)
- assert_equal 0, @conn.type_cast(false, c)
- end
- end
- end
- end
-end