This is mostly for my own future reference.
I was looking at /categories.php and didn’t see the new filesystems category.
I also note it does not sort by what it says it will sort.
I eventually found it was loading data from this table:
freshports.dvl=# select * from category_stats;
category_id | port_count | last_update
-------------+------------+---------------------
85 | 27 | 2017-11-30 15:50:34
69 | 4 | 2017-08-17 18:06:43
67 | 253 | 2017-11-30 20:28:15
89 | 758 | 2017-12-05 19:53:55
32 | 1451 | 2017-12-05 21:15:30
113 | 54 | 2017-11-30 06:13:35
130 | 3 | 2017-09-09 20:24:12
63 | 87 | 2017-11-30 15:50:34
98 | 165 | 2017-12-02 11:08:42
66 | 240 | 2017-12-04 09:00:26
14 | 142 | 2017-11-30 15:50:34
88 | 9 | 2017-11-02 21:12:58
24 | 298 | 2017-12-03 12:23:54
114 | 62 | 2017-11-30 23:45:49
62 | 610 | 2017-12-05 21:15:30
53 | 15 | 2017-11-04 11:43:35
44 | 33 | 2017-12-05 19:01:54
37 | 40 | 2017-11-21 08:36:27
27 | 221 | 2017-11-30 15:50:34
28 | 55 | 2017-12-03 12:23:54
16 | 1004 | 2017-12-04 21:00:33
8 | 1684 | 2017-12-05 19:11:21
96 | 119 | 2017-12-05 09:00:27
56 | 71 | 2017-12-05 18:25:59
115 | 131 | 2017-12-03 20:34:57
68 | 53 | 2017-11-30 06:13:35
54 | 185 | 2017-12-05 21:04:59
29 | 51 | 2017-12-04 16:59:20
74 | 133 | 2017-11-22 23:35:56
92 | 454 | 2017-12-04 18:54:39
102 | 79 | 2017-12-05 20:35:45
82 | 21 | 2017-11-30 15:50:34
90 | 38 | 2017-11-30 06:13:35
9 | 327 | 2017-12-04 20:45:56
46 | 8 | 2017-11-02 21:12:58
58 | 533 | 2017-12-02 09:22:02
83 | 35 | 2017-11-30 06:13:35
101 | 100 | 2017-12-03 12:23:54
116 | 79 | 2017-11-30 15:50:34
30 | 45 | 2017-12-01 07:19:54
128 | 182 | 2017-12-01 22:12:35
6 | 149 | 2017-12-03 19:39:23
21 | 590 | 2017-12-04 20:25:18
59 | 5524 | 2017-12-04 17:09:40
119 | 28 | 2017-11-30 15:50:34
84 | 270 | 2017-12-04 13:56:32
124 | 38 | 2017-10-28 01:32:24
13 | 144 | 2017-12-03 20:37:27
20 | 1494 | 2017-12-05 21:51:11
25 | 1055 | 2017-12-05 18:25:59
131 | 8 | 2017-12-01 07:04:07
26 | 138 | 2017-12-03 20:37:17
43 | 16 | 2017-11-30 06:13:35
129 | 143 | 2017-12-01 07:19:54
100 | 7 | 2017-11-04 22:57:12
47 | 24 | 2017-12-05 19:01:54
15 | 468 | 2017-12-05 17:00:49
19 | 847 | 2017-12-04 23:55:05
35 | 129 | 2017-12-03 19:20:35
52 | 619 | 2017-12-05 18:53:42
49 | 11 | 2017-11-02 21:12:58
64 | 25 | 2017-11-30 06:13:35
42 | 93 | 2017-12-02 11:04:07
2 | 2895 | 2017-12-05 21:44:13
11 | 17 | 2017-11-08 06:04:45
31 | 43 | 2017-12-05 19:01:54
38 | 196 | 2017-11-30 15:50:34
40 | 16 | 2017-10-06 11:18:36
34 | 141 | 2017-12-02 13:48:41
55 | 662 | 2017-12-01 22:12:35
77 | 556 | 2017-11-30 06:13:35
23 | 317 | 2017-12-05 15:56:04
5 | 1486 | 2017-12-05 23:31:08
41 | 237 | 2017-12-05 09:00:27
97 | 1544 | 2017-12-05 16:44:09
48 | 255 | 2017-12-05 19:15:49
4 | 1394 | 2017-12-05 20:52:58
51 | 10 | 2017-11-02 21:12:58
91 | 181 | 2017-11-25 20:34:37
7 | 591 | 2017-12-04 09:00:25
57 | 2846 | 2017-12-05 22:00:55
12 | 319 | 2017-12-05 19:01:54
10 | 6680 | 2017-12-05 20:27:27
18 | 1996 | 2017-12-05 22:00:55
81 | 78 | 2017-11-30 20:36:35
1 | 295 | 2017-12-02 23:10:48
117 | 82 | 2017-11-16 20:30:44
33 | 311 | 2017-12-05 13:51:27
118 | 63 | 2017-10-31 14:57:54
3 | 1362 | 2017-12-05 19:56:37
22 | 260 | 2017-12-05 21:00:21
36 | 132 | 2017-12-05 03:03:38
39 | 124 | 2017-12-05 19:01:54
17 | 78 | 2017-12-03 12:23:54
95 | 228 | 2017-12-03 08:25:32
(95 rows)
That’s all from 2017… 7 years ago.
Grepping for the table name, I found:
CREATE OR REPLACE FUNCTION CategoryStatsUpdate() returns int as $$
BEGIN
DELETE FROM category_stats;
INSERT INTO category_stats (
SELECT categories.id AS category_id,
count(ports_active.id) AS count,
max(commit_log.commit_date) AS updated
FROM categories, ports_active left outer join commit_log on ( ports_active.last_commit_id = commit_log.id )
WHERE categories.id = ports_active.category_id
AND categories.is_primary
GROUP BY categories.id, categories.name, categories.description, is_primary, categories.element_id
UNION
SELECT categories.id AS category_id,
count(ports_active.id) AS count,
max(commit_log.commit_date) AS updated
FROM ports_categories, categories, ports_active left outer join commit_log on ( ports_active.last_commit_id = commit_log.id )
WHERE ports_active.id = ports_categories.port_id
AND categories.id = ports_categories.category_id
AND NOT categories.is_primary
GROUP BY categories.id, categories.name, categories.description, is_primary, categories.element_id);
return 1;
END;
$$ LANGUAGE plpgsql;
I ran it and found three new categories:
freshports.dvl=# select * from CategoryStatsUpdate();
categorystatsupdate
---------------------
1
(1 row)
freshports.dvl=# select * from category_stats;
category_id | port_count | last_update
-------------+------------+---------------------
118 | 23 | 2024-10-13 10:08:34
56 | 61 | 2024-10-17 22:04:57
23 | 294 | 2024-11-06 15:17:35
21 | 682 | 2024-11-04 16:50:19
10 | 8328 | 2024-11-06 15:17:35
20 | 1610 | 2024-11-06 15:17:35
92 | 431 | 2024-11-06 15:17:35
37 | 50 | 2024-10-29 02:08:50
3 | 1178 | 2024-11-05 18:19:12
67 | 11 | 2024-08-07 07:46:45
85 | 33 | 2024-11-02 00:28:32
55 | 602 | 2024-11-06 15:17:35
135 | 68 | 2024-10-30 08:40:48
74 | 91 | 2024-11-06 15:17:35
59 | 5849 | 2024-11-06 15:17:35
116 | 70 | 2024-11-04 17:15:06
66 | 276 | 2024-11-06 15:17:35
98 | 104 | 2024-11-04 17:00:00
58 | 345 | 2024-11-06 15:17:35
119 | 16 | 2024-09-14 18:22:18
19 | 757 | 2024-11-05 20:24:07
124 | 39 | 2024-10-23 07:11:50
77 | 62 | 2024-11-05 01:26:41
41 | 228 | 2024-11-04 02:39:20
14 | 131 | 2024-11-04 07:36:54
17 | 65 | 2024-10-25 12:19:51
52 | 413 | 2024-11-05 20:20:39
7 | 684 | 2024-11-06 15:17:35
88 | 9 | 2024-10-03 14:27:55
24 | 271 | 2024-11-06 15:17:35
97 | 3064 | 2024-11-06 15:17:35
83 | 28 | 2024-10-15 06:19:13
32 | 1119 | 2024-11-06 15:17:35
101 | 91 | 2024-10-01 18:56:20
9 | 265 | 2024-11-05 10:13:27
130 | 168 | 2024-11-05 06:31:43
2 | 2567 | 2024-11-06 15:17:35
34 | 107 | 2024-11-01 17:50:12
27 | 184 | 2024-11-04 19:16:34
26 | 144 | 2024-11-03 13:22:25
6 | 95 | 2024-11-02 13:47:23
28 | 46 | 2024-10-13 10:13:54
51 | 7 | 2024-10-03 14:27:55
63 | 98 | 2024-11-05 16:07:05
96 | 111 | 2024-11-04 02:39:20
89 | 447 | 2024-11-06 15:17:35
102 | 82 | 2024-11-01 20:20:20
113 | 25 | 2024-08-07 02:23:40
16 | 1280 | 2024-11-06 15:17:35
64 | 21 | 2024-10-08 21:36:45
12 | 306 | 2024-11-03 13:23:40
91 | 176 | 2024-11-01 16:01:37
54 | 153 | 2024-11-04 03:07:56
48 | 521 | 2024-11-06 15:17:35
81 | 70 | 2024-10-24 05:43:50
134 | 36 | 2024-10-21 09:36:02
31 | 32 | 2024-10-09 05:58:59
68 | 34 | 2024-10-30 09:00:36
114 | 84 | 2024-11-06 15:17:35
30 | 32 | 2024-11-06 15:17:35
29 | 75 | 2024-11-04 10:39:44
42 | 118 | 2024-10-30 09:00:37
13 | 99 | 2024-10-31 07:54:16
95 | 180 | 2024-11-05 18:06:12
137 | 10 | 2024-10-23 07:11:50
82 | 11 | 2024-11-03 13:23:27
36 | 256 | 2024-11-05 07:25:49
117 | 60 | 2024-10-23 06:30:36
49 | 9 | 2024-10-03 14:27:55
90 | 39 | 2024-10-31 07:47:02
11 | 16 | 2024-10-03 14:27:55
33 | 318 | 2024-11-06 15:17:35
18 | 2207 | 2024-11-06 15:17:35
138 | 140 | 2024-11-06 15:17:35
8 | 1693 | 2024-11-06 15:17:35
100 | 5 | 2023-11-06 10:03:47
35 | 160 | 2024-11-03 19:46:36
4 | 1271 | 2024-11-06 15:17:35
131 | 233 | 2024-11-06 15:17:35
69 | 3 | 2024-09-09 19:11:12
38 | 350 | 2024-11-06 15:17:35
133 | 94 | 2024-11-01 16:01:37
57 | 4575 | 2024-11-06 15:17:35
39 | 134 | 2024-10-30 16:53:05
84 | 240 | 2024-11-03 13:22:16
129 | 148 | 2024-10-23 07:11:50
5 | 1419 | 2024-11-06 15:17:35
47 | 13 | 2024-11-03 11:48:23
25 | 895 | 2024-11-05 18:06:13
115 | 118 | 2024-10-29 14:38:30
136 | 7 | 2024-11-04 16:50:19
53 | 9 | 2024-10-03 14:27:55
43 | 6 | 2024-09-03 13:51:02
44 | 20 | 2024-11-03 13:23:26
1 | 296 | 2024-11-04 19:40:10
46 | 7 | 2024-10-03 14:27:55
22 | 189 | 2024-11-06 15:17:35
15 | 397 | 2024-11-05 16:07:35
(98 rows)
freshports.dvl=#











