#!/bin/sh
#--select rpm_files.pkgid, group_concat(FILENAME), group_concat(altlinux_alternatives.pkgid) from altlinux_alternatives, rpm_files WHERE ALTALTERNATIVE=FILENAME GROUP BY rpm_files.pkgid;
rm -f "$REPOCOP_DISTROTEST_DBDIR/rpm-ext.db"
repocop-sqlite "$REPOCOP_DISTROTEST_DBDIR/rpm-ext.db" <<EOSQL
attach database '$REPOCOP_DISTROTEST_DBDIR/rpm.db' as rpm;
CREATE TABLE EXPLICIT_CONFLICT (CONFLICTER TEXT, CONFLICTEE TEXT);
-- note: asymmetric;
insert INTO EXPLICIT_CONFLICT select distinct a.pkgid, b.pkgid FROM rpm_conflicts as a, rpm_provides as b WHERE a.pkgid<>b.pkgid AND b.providename = a.conflictname;
CREATE INDEX EXPLICIT_CONFLICT_IDX_NAME ON EXPLICIT_CONFLICT(CONFLICTER);
-- 
CREATE TABLE EXPLICIT_OBSOLETE (OBSOLETER TEXT, OBSOLETEE TEXT);
-- note: asymmetric; 
-- TODO: index left join is possible if RPM will have an index on NAME
-- simple version: 
-- insert INTO EXPLICIT_OBSOLETE select distinct a.pkgid, b.pkgid FROM rpm_obsoletes as a, rpm as b WHERE a.pkgid<>b.pkgid AND b.name = a.obsoletename AND (obsoleteversion IS NULL OR obsoleteversion;
INSERT INTO EXPLICIT_OBSOLETE select distinct a.pkgid, b.pkgid FROM rpm_obsoletes as a, rpm as b WHERE a.pkgid<>b.pkgid AND b.name = a.obsoletename AND (obsoleteversion='' OR obsoleteversion IS NULL OR rpm_compare_op_evr_e_v_r(obsoleteFLAG,obsoleteversion,epoch,version,release)>0);
CREATE INDEX EXPLICIT_OBSOLETE_IDX_NAME ON EXPLICIT_OBSOLETE(OBSOLETER);
EOSQL
#rm "$REPOCOP_TEST_TMPDIR/"*
