mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-13 20:16:30 +00:00
4949047575
Since commit 360708e93d
the feed-latest-build query has returned extra columns in the results, causing log messages like the following:
```
meddler.Targets: column [build_repo_id] not found in struct
meddler.Targets: column [build_id] not found in struct
meddler.WriteTargets: column [build_repo_id] not found in struct
meddler.WriteTargets: column [build_id] not found in struct
```
This is a result of the optimised Postgres query including the `build_repo_id` and `build_id` terms, where previously they were not inclued.
This PR rewrites the query slightly to produce the expected result set (i.e. without the `build_repo_id` and `build_id` columns). As a side-effect it also looks similar to the original query.
Signed-off-by: Niall Sheridan <nsheridan@squarespace.com>
59 lines
1 KiB
SQL
59 lines
1 KiB
SQL
-- name: feed-latest-build
|
|
|
|
SELECT
|
|
repo_owner
|
|
,repo_name
|
|
,repo_full_name
|
|
,build_number
|
|
,build_event
|
|
,build_status
|
|
,build_created
|
|
,build_started
|
|
,build_finished
|
|
,build_commit
|
|
,build_branch
|
|
,build_ref
|
|
,build_refspec
|
|
,build_remote
|
|
,build_title
|
|
,build_message
|
|
,build_author
|
|
,build_email
|
|
,build_avatar
|
|
FROM repos LEFT OUTER JOIN (
|
|
SELECT DISTINCT ON (build_repo_id) * FROM builds
|
|
ORDER BY build_repo_id, build_id DESC
|
|
) b ON b.build_repo_id = repos.repo_id
|
|
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
|
WHERE perms.perm_user_id = $1
|
|
AND repos.repo_active = TRUE
|
|
ORDER BY repo_full_name ASC;
|
|
|
|
-- name: feed
|
|
|
|
SELECT
|
|
repo_owner
|
|
,repo_name
|
|
,repo_full_name
|
|
,build_number
|
|
,build_event
|
|
,build_status
|
|
,build_created
|
|
,build_started
|
|
,build_finished
|
|
,build_commit
|
|
,build_branch
|
|
,build_ref
|
|
,build_refspec
|
|
,build_remote
|
|
,build_title
|
|
,build_message
|
|
,build_author
|
|
,build_email
|
|
,build_avatar
|
|
FROM repos
|
|
INNER JOIN perms ON perms.perm_repo_id = repos.repo_id
|
|
INNER JOIN builds ON builds.build_repo_id = repos.repo_id
|
|
WHERE perms.perm_user_id = $1
|
|
ORDER BY build_id DESC
|
|
LIMIT 50
|