Commit c936653
Show the whole hash-collision cluster, and stop counters answering hash searches (LMFDB#5556)
Follow-up review of PR 44 found the hash search still rendered through
gps_groups, so it could not show what the complete tables know.
A new route, /Groups/Abstract/hash/<order>/<value>, answers "which groups
have this order and hash". At the ten orders with a complete gps_smallhash
table it lists every one of them, including those with no database row
(78125#3521944227884464685 is 78125.82, 78125.335, 78125.340, and only the
last two are in gps_groups), says that the list is complete, links the ones
with a homepage and marks the rest as absent, and redirects when the cluster
determines a single group. Other orders go on to the ordinary search page,
where the stored column is the hash. Every "groups with this order and
hash" link now goes through the route: group homepages, subgroup and
quotient popups, the identification tool and the find box, as does a search
whose only constraints are an order and a hash.
The hash column of gps_groups is no longer consulted at the six orders where
it holds the label counter, whatever the order constraint: with no single
order, hash_constraint builds an $or of the column match away from those
orders together with one resolved (order, counter) branch per affected
order, from a single indexed gps_smallhash query. So a search for the hash
11 no longer returns 512.11, whose stored 11 is its counter, while a search
for 1584677793794603025 finds it with no order given at all.
The optional column still cannot show a hash that only gps_smallhash knows,
which is now documented; where the search itself named one hash at one
order, that value is displayed. Out-of-range values are refused by the new
route rather than reaching the database, which errors on them.
Verified with sage -python -m pytest on lmfdb/groups/abstract:
test_abstract_groups.py 25 passed (the hash tests now cover the complete
cluster page, the popup and identification links into it, the label with no
homepage, and the false-positive cases), test_browse_page.py 71 passed,
pyflakes clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 490df40 commit c936653
4 files changed
Lines changed: 304 additions & 56 deletions
File tree
- lmfdb/groups/abstract
- templates
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
31 | 34 | | |
32 | | - | |
33 | | - | |
34 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
35 | 42 | | |
36 | 43 | | |
37 | 44 | | |
| |||
48 | 55 | | |
49 | 56 | | |
50 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
51 | 62 | | |
52 | 63 | | |
53 | 64 | | |
| |||
101 | 112 | | |
102 | 113 | | |
103 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
104 | 126 | | |
105 | 127 | | |
106 | 128 | | |
| |||
113 | 135 | | |
114 | 136 | | |
115 | 137 | | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
125 | 151 | | |
126 | 152 | | |
127 | | - | |
128 | | - | |
129 | | - | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
130 | 181 | | |
131 | 182 | | |
132 | 183 | | |
| |||
151 | 202 | | |
152 | 203 | | |
153 | 204 | | |
154 | | - | |
155 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
81 | 82 | | |
82 | 83 | | |
| 84 | + | |
83 | 85 | | |
84 | 86 | | |
| 87 | + | |
85 | 88 | | |
86 | 89 | | |
87 | 90 | | |
| |||
243 | 246 | | |
244 | 247 | | |
245 | 248 | | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
253 | 257 | | |
254 | | - | |
255 | | - | |
| 258 | + | |
| 259 | + | |
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
259 | 263 | | |
260 | 264 | | |
261 | 265 | | |
262 | 266 | | |
263 | | - | |
| 267 | + | |
264 | 268 | | |
265 | 269 | | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
266 | 273 | | |
267 | 274 | | |
268 | 275 | | |
| |||
798 | 805 | | |
799 | 806 | | |
800 | 807 | | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
801 | 814 | | |
802 | 815 | | |
803 | 816 | | |
| |||
1253 | 1266 | | |
1254 | 1267 | | |
1255 | 1268 | | |
1256 | | - | |
| 1269 | + | |
1257 | 1270 | | |
1258 | 1271 | | |
1259 | 1272 | | |
| |||
1487 | 1500 | | |
1488 | 1501 | | |
1489 | 1502 | | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
1490 | 1506 | | |
1491 | 1507 | | |
| 1508 | + | |
1492 | 1509 | | |
1493 | 1510 | | |
1494 | 1511 | | |
| |||
1585 | 1602 | | |
1586 | 1603 | | |
1587 | 1604 | | |
1588 | | - | |
1589 | | - | |
1590 | | - | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
1591 | 1608 | | |
1592 | | - | |
1593 | | - | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
1594 | 1612 | | |
1595 | 1613 | | |
1596 | 1614 | | |
| |||
2700 | 2718 | | |
2701 | 2719 | | |
2702 | 2720 | | |
| 2721 | + | |
| 2722 | + | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
| 2750 | + | |
| 2751 | + | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
2703 | 2770 | | |
2704 | 2771 | | |
2705 | 2772 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
0 commit comments