'type': self.overridetype.overridetype,
}
- sql = '''
-with
+ sql_create_temp = '''
+create temp table newest_binaries (
+ id integer primary key,
+ package text);
+
+create index newest_binaries_by_package on newest_binaries (package);
-newest_binaries as
- (select distinct on (package) id, package from binaries
+insert into newest_binaries (id, package)
+ select distinct on (package) id, package from binaries
where type = :type and
(architecture = :arch_all or architecture = :arch) and
id in (select bin from bin_associations where suite = :suite)
- order by package, version desc),
+ order by package, version desc;'''
+ self.session.execute(sql_create_temp, params=params)
+
+ sql = '''
+with
unique_override as
(select o.package, s.section
'component_id': self.component.component_id,
}
- sql = '''
-with
- newest_sources as
- (select distinct on (source) s.id, s.source from source s
+ sql_create_temp = '''
+create temp table newest_sources (
+ id integer primary key,
+ source text);
+
+create index sources_binaries_by_source on newest_sources (source);
+
+insert into newest_sources (id, source)
+ select distinct on (source) s.id, s.source from source s
join files f on f.id = s.file
join location l on l.id = f.location
where s.id in (select source from src_associations where suite = :suite_id)
and l.component = :component_id
- order by source, version desc)
+ order by source, version desc;'''
+ self.session.execute(sql_create_temp, params=params)
+ sql = '''
select sc.file, string_agg(s.source, ',' order by s.source) as pkglist
from newest_sources s, src_contents sc
where s.id = sc.source_id group by sc.file'''