14 lines
519 B
PL/PgSQL
14 lines
519 B
PL/PgSQL
CREATE
|
|
OR REPLACE FUNCTION get_all_versions (btcpayVersion INT[], includePreRelease BOOLEAN)
|
|
RETURNS TABLE(plugin_slug TEXT, ver INT[], build_id BIGINT)
|
|
AS $$
|
|
WITH latest_versions AS
|
|
(
|
|
SELECT plugin_slug, ver FROM versions
|
|
WHERE (btcpayVersion IS NULL OR btcpay_min_ver <= btcpayVersion) AND (includePreRelease OR pre_release IS FALSE)
|
|
ORDER BY plugin_slug, ver DESC
|
|
)
|
|
SELECT v.plugin_slug, v.ver, v.build_id
|
|
FROM latest_versions lv
|
|
JOIN versions v USING (plugin_slug, ver) $$ LANGUAGE SQL STABLE;
|