diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-12-20 17:22:11 +0300 |
commit | 0c872e02b2c822e3397515ec324051ff540f0cd5 (patch) | |
tree | ce2fb6ce7030e4dad0f4118d21ab6453e5938cdd /app/graphql/types/base_field.rb | |
parent | f7e05a6853b12f02911494c4b3fe53d9540d74fc (diff) |
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'app/graphql/types/base_field.rb')
-rw-r--r-- | app/graphql/types/base_field.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/app/graphql/types/base_field.rb b/app/graphql/types/base_field.rb index 36ba3399754..615c143a0b9 100644 --- a/app/graphql/types/base_field.rb +++ b/app/graphql/types/base_field.rb @@ -135,15 +135,16 @@ module Types :resolver_complexity, args, child_complexity: child_complexity ).to_i complexity += 1 if calls_gitaly? - complexity += complexity * connection_complexity_multiplier(ctx, args) + ext_conn = resolver&.try(:calculate_ext_conn_complexity) + complexity += complexity * connection_complexity_multiplier(ctx, args, calculate_ext_conn_complexity: ext_conn) complexity.to_i end end - def connection_complexity_multiplier(ctx, args) + def connection_complexity_multiplier(ctx, args, calculate_ext_conn_complexity:) # Resolvers may add extra complexity depending on number of items being loaded. - return 0 unless connection? + return 0 if !connection? && !calculate_ext_conn_complexity page_size = max_page_size || ctx.schema.default_max_page_size limit_value = [args[:first], args[:last], page_size].compact.min |