fix different PG capabilities in schema

Related: https://pagure.io/koji/issue/3594
This commit is contained in:
Tomas Kopecek 2022-12-05 14:55:59 +01:00
parent f7d9a96961
commit c11056996b
2 changed files with 24 additions and 3 deletions

View file

@ -2,6 +2,16 @@
-- from version 1.30 to 1.31
BEGIN;
-- index for default search method for rpms
CREATE INDEX rpminfo_filename ON rpminfo((name || '-' || version || '-' || release || '.' || arch || '.rpm')) INCLUDE (id);
-- index for default search method for rpms, PG11+ can benefit from new include method
DO $$
DECLARE version integer;
BEGIN
SELECT current_setting('server_version_num')::integer INTO version;
IF version >= 110000 THEN
EXECUTE 'CREATE INDEX rpminfo_filename ON rpminfo((name || ''-'' || version || ''-'' || release || ''.'' || arch || ''.rpm'')) INCLUDE (id);';
ELSE
EXECUTE 'CREATE INDEX rpminfo_filename ON rpminfo((name || ''-'' || version || ''-'' || release || ''.'' || arch || ''.rpm''));';
END IF;
END
$$;
COMMIT;

View file

@ -734,7 +734,18 @@ CREATE TABLE rpminfo (
CONSTRAINT rpminfo_unique_nvra UNIQUE (name,version,release,arch,external_repo_id)
) WITHOUT OIDS;
CREATE INDEX rpminfo_build ON rpminfo(build_id);
CREATE INDEX rpminfo_filename ON rpminfo((name || '-' || version || '-' || release || '.' || arch || '.rpm')) INCLUDE (id);
-- index for default search method for rpms, PG11+ can benefit from new include method
DO $$
DECLARE version integer;
BEGIN
SELECT current_setting('server_version_num')::integer INTO version;
IF version >= 110000 THEN
EXECUTE 'CREATE INDEX rpminfo_filename ON rpminfo((name || ''-'' || version || ''-'' || release || ''.'' || arch || ''.rpm'')) INCLUDE (id);';
ELSE
EXECUTE 'CREATE INDEX rpminfo_filename ON rpminfo((name || ''-'' || version || ''-'' || release || ''.'' || arch || ''.rpm''));';
END IF;
END
$$;
-- sighash is the checksum of the signature header
CREATE TABLE rpmsigs (