本文整理汇总了Golang中github.com/flynn/flynn/pkg/postgres.DB.Query方法的典型用法代码示例。如果您正苦于以下问题:Golang DB.Query方法的具体用法?Golang DB.Query怎么用?Golang DB.Query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/flynn/flynn/pkg/postgres.DB
的用法示例。
在下文中一共展示了DB.Query方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getActiveImageArtifacts
func getActiveImageArtifacts(db *postgres.DB) ([]*ct.Artifact, error) {
sql := `
SELECT artifact_id, uri FROM artifacts
WHERE type = 'docker'
AND meta->>'docker-receive.repository' IS NOT NULL
AND deleted_at IS NULL
AND artifact_id IN (
SELECT artifact_id FROM release_artifacts
WHERE release_id IN (
SELECT release_id FROM releases
WHERE meta->>'docker-receive' = 'true'
AND release_id IN (
SELECT release_id
FROM formations, json_each_text(formations.processes::json)
WHERE processes != 'null'
GROUP BY app_id, release_id
HAVING SUM(value::int) > 0
)
OR release_id IN (
SELECT release_id FROM apps
)
)
)
`
rows, err := db.Query(sql)
if err != nil {
return nil, err
}
defer rows.Close()
var artifacts []*ct.Artifact
for rows.Next() {
var artifact ct.Artifact
if err := rows.Scan(&artifact.ID, &artifact.URI); err != nil {
return nil, err
}
artifacts = append(artifacts, &artifact)
}
return artifacts, rows.Err()
}