mirror of
https://github.com/eduardolat/pgbackweb.git
synced 2026-02-08 13:18:32 -06:00
58 lines
1.4 KiB
SQL
58 lines
1.4 KiB
SQL
-- name: ExecutionsServicePaginateExecutionsCount :one
|
|
SELECT COUNT(executions.*)
|
|
FROM executions
|
|
INNER JOIN backups ON backups.id = executions.backup_id
|
|
INNER JOIN databases ON databases.id = backups.database_id
|
|
LEFT JOIN destinations ON destinations.id = backups.destination_id
|
|
WHERE
|
|
(
|
|
sqlc.narg('backup_id')::UUID IS NULL
|
|
OR
|
|
backups.id = sqlc.narg('backup_id')::UUID
|
|
)
|
|
AND
|
|
(
|
|
sqlc.narg('database_id')::UUID IS NULL
|
|
OR
|
|
databases.id = sqlc.narg('database_id')::UUID
|
|
)
|
|
AND
|
|
(
|
|
sqlc.narg('destination_id')::UUID IS NULL
|
|
OR
|
|
destinations.id = sqlc.narg('destination_id')::UUID
|
|
);
|
|
|
|
-- name: ExecutionsServicePaginateExecutions :many
|
|
SELECT
|
|
executions.*,
|
|
backups.name AS backup_name,
|
|
databases.name AS database_name,
|
|
databases.pg_version AS database_pg_version,
|
|
destinations.name AS destination_name,
|
|
backups.is_local AS backup_is_local
|
|
FROM executions
|
|
INNER JOIN backups ON backups.id = executions.backup_id
|
|
INNER JOIN databases ON databases.id = backups.database_id
|
|
LEFT JOIN destinations ON destinations.id = backups.destination_id
|
|
WHERE
|
|
(
|
|
sqlc.narg('backup_id')::UUID IS NULL
|
|
OR
|
|
backups.id = sqlc.narg('backup_id')::UUID
|
|
)
|
|
AND
|
|
(
|
|
sqlc.narg('database_id')::UUID IS NULL
|
|
OR
|
|
databases.id = sqlc.narg('database_id')::UUID
|
|
)
|
|
AND
|
|
(
|
|
sqlc.narg('destination_id')::UUID IS NULL
|
|
OR
|
|
destinations.id = sqlc.narg('destination_id')::UUID
|
|
)
|
|
ORDER BY executions.started_at DESC
|
|
LIMIT sqlc.arg('limit') OFFSET sqlc.arg('offset');
|