- result = session.execute(query, {'suite': suites[suite], 'source': source, \
- 'base': versions[1], 'current': versions[0]})
- session.commit()
- for r in result.fetchall():
- for i in range(0, len(r)):
- print r[i]
+ query = """WITH base AS (
+ SELECT source, max(version) AS version
+ FROM source_suite
+ WHERE suite_name = :base_suite
+ GROUP BY source
+ UNION SELECT source, CAST(0 AS debversion) AS version
+ FROM source_suite
+ WHERE suite_name = :suite
+ EXCEPT SELECT source, CAST(0 AS debversion) AS version
+ FROM source_suite
+ WHERE suite_name = :base_suite
+ ORDER BY source),
+ cur_suite AS (
+ SELECT source, max(version) AS version
+ FROM source_suite
+ WHERE suite_name = :suite
+ GROUP BY source)
+ SELECT DISTINCT c.source, c.version, c.changelog
+ FROM changelogs c
+ JOIN base b on b.source = c.source
+ JOIN cur_suite cs ON cs.source = c.source
+ WHERE c.version > b.version
+ AND c.version <= cs.version
+ AND c.architecture LIKE '%source%'
+ ORDER BY c.source, c.version DESC"""
+
+ return session.execute(query, {'suite': suite, 'base_suite': base_suite})