# Select all known networks
rows = self.db.query("""
SELECT
+ DISTINCT ON (announcements.network)
announcements.network AS network,
announcements.autnum AS autnum,
- (
- SELECT networks.country FROM networks
- WHERE announcements.network <<= networks.network
- ORDER BY masklen(networks.network) DESC
- LIMIT 1
- ) AS country,
+ networks.country AS country,
+
+ -- Must be part of returned values for ORDER BY clause
+ masklen(networks.network) AS sort,
-- Flags
COALESCE(
)
) AS is_anycast
FROM announcements
+ LEFT JOIN networks ON announcements.network <<= networks.network
+ ORDER BY announcements.network, sort DESC
""")
for row in rows: