Skip to content

Commit 5a1b2b8

Browse files
authored
Merge pull request rails#50353 from lucasmazza/lm/fix-load-async-null-relation
Fix `load_async` for null relations
2 parents 66e5ed7 + c755144 commit 5a1b2b8

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

activerecord/lib/active_record/relation.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ def exec_queries(&block)
960960
def exec_main_query(async: false)
961961
if @none
962962
if async
963-
return Promise::Complete.new([])
963+
return FutureResult::Complete.new([])
964964
else
965965
return []
966966
end

activerecord/test/cases/relation/load_async_test.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ def test_scheduled?
4141
assert_not_predicate deferred_posts, :scheduled?
4242
end
4343

44+
def test_null_scheduled?
45+
deferred_null_posts = Post.none.load_async
46+
if in_memory_db?
47+
assert_not_predicate deferred_null_posts, :scheduled?
48+
else
49+
assert_predicate deferred_null_posts, :scheduled?
50+
end
51+
assert_predicate deferred_null_posts, :loaded?
52+
deferred_null_posts.to_a
53+
assert_not_predicate deferred_null_posts, :scheduled?
54+
end
55+
4456
def test_reset
4557
deferred_posts = Post.where(author_id: 1).load_async
4658
if in_memory_db?

0 commit comments

Comments
 (0)