-- FROZEN FIXTURE. Representative content for a querylog.db at schema version 1, -- loaded on top of `querylog-v1-schema.sql`. -- -- IMMUTABLE once released, for the same reason as its schema half: the release -- gate byte-compares it against the previous tag. A future schema version ships -- a NEW pair rather than editing this one. -- -- The rows are chosen to be hard on a migration rather than realistic: every -- `route_kind`, the NULL variants of `qtype`, `cache_hit`, `response_time_us`, -- `upstream` and `forward_zone`, a non-IN qclass with a non-zero rcode, the -- group and source id/name pairs, `cname_target`/`safe_search_target`, an -- `available_since` that has been advanced away from its DDL default, and -- timestamps that straddle two 30-minute projection buckets. -- -- The `bucket_*` rows below are the recomputation of the raw rows, transcribed -- from the same SQL `queries_repo`'s coherence oracle recomputes with. A -- fixture-validity test runs that oracle over this file BEFORE any migration, -- so an incoherent transcription fails on its own rather than as a migration -- bug. UPDATE querylog_meta SET created_at = 1699998000, available_since = 1699998600 WHERE id = 1; INSERT INTO domains (id, domain) VALUES (1, 'ads.example'), (2, 'news.example'), (3, 'chat.example'), (4, 'printer.lan'), (5, 'nas.lan'), (6, 'cdn.example'); INSERT INTO query_log ( id, timestamp, domain_id, client_ip, qtype, blocked, response_time_us, cache_hit, upstream, qclass, rcode, group_id, group_name, policy_action, policy_reason, matched, source_id, source_name, cname_target, safe_search_target, route_kind, forward_zone ) VALUES (1, 1699999260, 1, '10.0.0.1', 1, 1, NULL, 0, NULL, 1, 0, 7, 'kids', 'block', 'blocklist_domain', 'ads.example', 3, 'stevenblack', NULL, NULL, 'blocked', NULL), (2, 1699999320, 2, '10.0.0.1', 28, 0, 1500, 0, '9.9.9.9:853', 1, 0, NULL, NULL, 'allow', 'no_match', NULL, NULL, NULL, NULL, NULL, 'upstream', NULL), (3, 1699999380, 2, '10.0.0.2', 1, 0, 90, 1, NULL, 1, 0, NULL, NULL, 'allow', 'no_match', NULL, NULL, NULL, NULL, NULL, 'cache', NULL), (4, 1699999440, 3, '10.0.0.2', NULL, 0, NULL, NULL, NULL, 3, 4, NULL, NULL, 'not_evaluated', 'non_in_class', NULL, NULL, NULL, NULL, NULL, 'rejected', NULL), (5, 1699999500, 4, '10.0.0.3', 1, 0, 200, 0, NULL, 1, 0, NULL, NULL, 'not_evaluated', 'local_record', NULL, NULL, NULL, NULL, NULL, 'local', NULL), (6, 1700000700, 5, '10.0.0.3', 15, 0, 3400, 0, NULL, 1, 0, NULL, NULL, 'not_evaluated', 'forward_zone', NULL, NULL, NULL, NULL, NULL, 'forward_zone', 'lan.example'), (7, 1700001060, 1, '10.0.0.1', 1, 1, NULL, 0, NULL, 1, 0, 7, 'kids', 'block', 'blocklist_wildcard', '*.ads.example', 3, 'stevenblack', NULL, NULL, 'blocked', NULL), (8, 1700001120, 6, '10.0.0.4', 65, 0, 2500, 1, '1.1.1.1:853', 1, 0, NULL, NULL, 'allow', 'no_match', NULL, NULL, NULL, 'edge.cdn.example', 'forcesafesearch.example', 'upstream', NULL); INSERT INTO bucket_totals (bucket, queries, blocked, cached, rt_sum, rt_count) VALUES (1699999200, 6, 1, 1, 5190, 4), (1700001000, 2, 1, 1, 2500, 1); INSERT INTO bucket_clients (bucket, client_ip, queries) VALUES (1699999200, '10.0.0.1', 2), (1699999200, '10.0.0.2', 2), (1699999200, '10.0.0.3', 2), (1700001000, '10.0.0.1', 1), (1700001000, '10.0.0.4', 1); -- qtype -1 is the lossless encoding of the NULL qtype on row 4. INSERT INTO bucket_types (bucket, qtype, count) VALUES (1699999200, -1, 1), (1699999200, 1, 3), (1699999200, 15, 1), (1699999200, 28, 1), (1700001000, 1, 1), (1700001000, 65, 1); INSERT INTO bucket_routes (bucket, route_kind, source_present, source_text, count) VALUES (1699999200, 'blocked', 0, '', 1), (1699999200, 'cache', 0, '', 1), (1699999200, 'forward_zone', 1, 'lan.example', 1), (1699999200, 'local', 0, '', 1), (1699999200, 'rejected', 0, '', 1), (1699999200, 'upstream', 1, '9.9.9.9:853', 1), (1700001000, 'blocked', 0, '', 1), (1700001000, 'upstream', 1, '1.1.1.1:853', 1);