It could happen that a network was marked, but the AS was not.
Since the AS is checked first, we won't check the network and
therefore write the wrong information into the database.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
number bigint NOT NULL,
name text,
country text,
number bigint NOT NULL,
name text,
country text,
- is_anonymous_proxy boolean DEFAULT FALSE,
- is_satellite_provider boolean DEFAULT FALSE,
- is_anycast boolean DEFAULT FALSE
+ is_anonymous_proxy boolean,
+ is_satellite_provider boolean,
+ is_anycast boolean
);
CREATE UNIQUE INDEX IF NOT EXISTS autnum_overrides_number
ON autnum_overrides(number);
);
CREATE UNIQUE INDEX IF NOT EXISTS autnum_overrides_number
ON autnum_overrides(number);
CREATE TABLE IF NOT EXISTS network_overrides(
network inet NOT NULL,
country text,
CREATE TABLE IF NOT EXISTS network_overrides(
network inet NOT NULL,
country text,
- is_anonymous_proxy boolean DEFAULT FALSE,
- is_satellite_provider boolean DEFAULT FALSE,
- is_anycast boolean DEFAULT FALSE
+ is_anonymous_proxy boolean,
+ is_satellite_provider boolean,
+ is_anycast boolean
);
CREATE UNIQUE INDEX IF NOT EXISTS network_overrides_network
ON network_overrides(network);
);
CREATE UNIQUE INDEX IF NOT EXISTS network_overrides_network
ON network_overrides(network);
(
SELECT is_anonymous_proxy FROM autnum_overrides overrides
WHERE announcements.autnum = overrides.number
(
SELECT is_anonymous_proxy FROM autnum_overrides overrides
WHERE announcements.autnum = overrides.number
) AS is_anonymous_proxy,
COALESCE(
(
) AS is_anonymous_proxy,
COALESCE(
(
(
SELECT is_satellite_provider FROM autnum_overrides overrides
WHERE announcements.autnum = overrides.number
(
SELECT is_satellite_provider FROM autnum_overrides overrides
WHERE announcements.autnum = overrides.number
) AS is_satellite_provider,
COALESCE(
(
) AS is_satellite_provider,
COALESCE(
(
(
SELECT is_anycast FROM autnum_overrides overrides
WHERE announcements.autnum = overrides.number
(
SELECT is_anycast FROM autnum_overrides overrides
WHERE announcements.autnum = overrides.number
) AS is_anycast
FROM announcements
LEFT JOIN networks ON announcements.network <<= networks.network
) AS is_anycast
FROM announcements
LEFT JOIN networks ON announcements.network <<= networks.network