Add IssuesFieldExtension to set relative positions
IssuesFieldExtension is a field extension for the field issues of the type BoardList. The extension is used to check and set relative positions of returned issues. Because IssuesFieldExtension needs to pass a paginated list of issues to ::Boards::Issues::ListService.initialize_relative_positions for performance, the extension needs to execute after the underlying issues relation has been wrapped by the default pagination connection extension. We achieve this by utilizing 'late_extensions' on initializing the field. Previously we incorrectly called initialize_relative_position by passing an underlying AR relation rather than a paginated result when resolving the field in BoardListIssuesResolver. This produced DB queries without `LIMIT` clause - causing performance degradations. Changelog: fixed
Showing
Please register or sign in to comment