@@ -890,7 +890,6 @@ def minimal_after_lazy(value, &block)
890
890
# @return [GraphQL::Execution::Lazy, Object] If loading `object` will be deferred, it's a wrapper over it.
891
891
def after_lazy ( lazy_obj , field :, owner_object :, arguments :, ast_node :, result :, result_name :, eager : false , runtime_state :, trace : true , &block )
892
892
if lazy? ( lazy_obj )
893
- orig_result = result
894
893
was_authorized_by_scope_items = runtime_state . was_authorized_by_scope_items
895
894
lazy = GraphQL ::Execution ::Lazy . new ( field : field ) do
896
895
# This block might be called in a new fiber;
@@ -900,13 +899,13 @@ def after_lazy(lazy_obj, field:, owner_object:, arguments:, ast_node:, result:,
900
899
runtime_state . current_field = field
901
900
runtime_state . current_arguments = arguments
902
901
runtime_state . current_result_name = result_name
903
- runtime_state . current_result = orig_result
902
+ runtime_state . current_result = result
904
903
runtime_state . was_authorized_by_scope_items = was_authorized_by_scope_items
905
904
# Wrap the execution of _this_ method with tracing,
906
905
# but don't wrap the continuation below
907
- result = nil
906
+ sync_result = nil
908
907
inner_obj = begin
909
- result = if trace
908
+ sync_result = if trace
910
909
@current_trace . begin_execute_field ( field , owner_object , arguments , query )
911
910
@current_trace . execute_field_lazy ( field : field , query : query , object : owner_object , arguments : arguments , ast_node : ast_node ) do
912
911
schema . sync_lazy ( lazy_obj )
@@ -924,7 +923,7 @@ def after_lazy(lazy_obj, field:, owner_object:, arguments:, ast_node:, result:,
924
923
end
925
924
ensure
926
925
if trace
927
- @current_trace . end_execute_field ( field , owner_object , arguments , query , result )
926
+ @current_trace . end_execute_field ( field , owner_object , arguments , query , sync_result )
928
927
end
929
928
end
930
929
yield ( inner_obj , runtime_state )
@@ -934,12 +933,7 @@ def after_lazy(lazy_obj, field:, owner_object:, arguments:, ast_node:, result:,
934
933
lazy . value
935
934
else
936
935
set_result ( result , result_name , lazy , false , false ) # is_non_null is irrelevant here
937
- current_depth = 0
938
- while result
939
- current_depth += 1
940
- result = result . graphql_parent
941
- end
942
- @dataloader . lazy_at_depth ( current_depth , lazy )
936
+ @dataloader . lazy_at_depth ( result . depth , lazy )
943
937
lazy
944
938
end
945
939
else
0 commit comments