Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge pull request #3851 from ebeigarts/fix_sequence_name

Fix sequence name with abstract classes.
  • Loading branch information...
commit 4ded0dd2de4dca40fcb7ccbc215db4c098a6629d 2 parents 4e74bd1 + 82ae5c4
@jonleighton jonleighton authored
View
4 activerecord/lib/active_record/base.rb
@@ -722,10 +722,10 @@ def set_inheritance_column(value = nil, &block) #:nodoc:
end
def sequence_name
- if superclass == Base
+ if base_class == self
@sequence_name ||= reset_sequence_name
else
- (@sequence_name ||= nil) || superclass.sequence_name
+ (@sequence_name ||= nil) || base_class.sequence_name
end
end
View
10 activerecord/test/cases/base_test.rb
@@ -1601,6 +1601,16 @@ def test_original_sequence_name
end
end
+ def test_sequence_name_with_abstract_class
+ ak = Class.new(ActiveRecord::Base)
+ ak.abstract_class = true
+ k = Class.new(ak)
+ k.table_name = "projects"
+ orig_name = k.sequence_name
+ return skip "sequences not supported by db" unless orig_name
+ assert_equal k.reset_sequence_name, orig_name
+ end
+
def test_count_with_join
res = Post.count_by_sql "SELECT COUNT(*) FROM posts LEFT JOIN comments ON posts.id=comments.post_id WHERE posts.#{QUOTED_TYPE} = 'Post'"
Please sign in to comment.
Something went wrong with that request. Please try again.