diff options
-rw-r--r-- | .travis.yml | 3 | ||||
-rw-r--r-- | activerecord/test/cases/relation_test.rb | 16 |
2 files changed, 9 insertions, 10 deletions
diff --git a/.travis.yml b/.travis.yml index c8cce45baf..6c870d8797 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,3 @@ services: - rabbitmq addons: postgresql: "9.3" - apt: - packages: - - sqlite3 diff --git a/activerecord/test/cases/relation_test.rb b/activerecord/test/cases/relation_test.rb index 24ed9e6638..37d3965022 100644 --- a/activerecord/test/cases/relation_test.rb +++ b/activerecord/test/cases/relation_test.rb @@ -243,7 +243,13 @@ module ActiveRecord end def test_select_quotes_when_using_from_clause - ensure_sqlite3_version_doesnt_include_bug + if sqlite3_version_includes_quoting_bug? + skip <<-ERROR.squish + You are using an outdated version of SQLite3 which has a bug in + quoted column names. Please update SQLite3 and rebuild the sqlite3 + ruby gem + ERROR + end quoted_join = ActiveRecord::Base.connection.quote_table_name("join") selected = Post.select(:join).from(Post.select("id as #{quoted_join}")).map(&:join) assert_equal Post.pluck(:id), selected @@ -286,16 +292,12 @@ module ActiveRecord private - def ensure_sqlite3_version_doesnt_include_bug + def sqlite3_version_includes_quoting_bug? if current_adapter?(:SQLite3Adapter) selected_quoted_column_names = ActiveRecord::Base.connection.exec_query( 'SELECT "join" FROM (SELECT id AS "join" FROM posts) subquery' ).columns - assert_equal ["join"], selected_quoted_column_names, <<-ERROR.squish - You are using an outdated version of SQLite3 which has a bug in - quoted column names. Please update SQLite3 and rebuild the sqlite3 - ruby gem - ERROR + ["join"] != selected_quoted_column_names end end end |