diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-12-19 17:39:20 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-12-23 16:26:15 -0200 |
commit | 56510091fb8d178ec7c2391bed9fbdb9e3a54287 (patch) | |
tree | a4827bf9d0539ce16cfae2497679d3841a64b64d /activesupport/test/concern_test.rb | |
parent | 618d5317d3ce3d40a22293149f79ff9843bbdb35 (diff) | |
download | rails-56510091fb8d178ec7c2391bed9fbdb9e3a54287.tar.gz rails-56510091fb8d178ec7c2391bed9fbdb9e3a54287.tar.bz2 rails-56510091fb8d178ec7c2391bed9fbdb9e3a54287.zip |
Do not consider PG array columns as number or text columns
The code uses these checks in several places to know what to do with a
particular column, for instance AR attribute query methods has a branch
like this:
if column.number?
!value.zero?
end
This should never be true for array columns, since it would be the same
as running [].zero?, which results in a NoMethodError exception.
Fixing this by ensuring that array columns in PostgreSQL never return
true for number?/text? checks.
Since most of the array support was based on the postgres_ext lib, it's
worth noting it does the same thing for numeric array columns too:
https://github.com/dockyard/postgres_ext/blob/v1.0.0/lib/postgres_ext/active_record/connection_adapters/postgres_adapter.rb#L72
This extended the same logic for text columns to ensure consistency.
Diffstat (limited to 'activesupport/test/concern_test.rb')
0 files changed, 0 insertions, 0 deletions