| Country | Contributions | Between | Climbers | Crags | Summits | Climbs | Ascents | |
|---|---|---|---|---|---|---|---|---|
| 1 | USA | 1526 | 20th November 2025 – 4th November 2026 | 48 | 20 | 0 | 88 | 98 |
| 2 | Australia | 767 | 27th September 2025 – 29th June 2026 | 6 | 38 | 0 | 61 | 33 |
| 3 | United Kingdom | 625 | 19th November 2025 – 4th November 2026 | 34 | 14 | 0 | 24 | 49 |
| 4 | Switzerland | 308 | 24th January 2026 – 4th November 2026 | 6 | 3 | 0 | 14 | 38 |
| 5 | France | 300 | 6th January 2026 – 4th November 2026 | 15 | 3 | 0 | 12 | 34 |
| 6 | Austria | 210 | 12th November 2025 – 22nd June 2026 | 5 | 2 | 0 | 8 | 22 |
| 7 | Italy | 163 | 18th November 2025 – 2nd November 2026 | 9 | 3 | 0 | 12 | 12 |
| 8 | Pakistan | 118 | 11th April 2026 – 26th April 2026 | 0 | 0 | 0 | 1 | 7 |
| 9 | Spain | 105 | 20th February 2026 – 16th May 2026 | 5 | 0 | 0 | 10 | 11 |
| 10 | Germany | 103 | 3rd February 2026 – 26th June 2026 | 7 | 0 | 0 | 7 | 10 |
| Date | Time | User | Type | Name | Attribute | ||
|---|---|---|---|---|---|---|---|
| 2821 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | country_flag | |
|
Before
None
After
🇦🇺
|
|||||||
| 2822 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | country_membership | |
|
Before
None
After
australian
|
|||||||
| 2823 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | country_name | |
|
Before
None
After
Australia
|
|||||||
| 2824 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | country_id | |
|
Before
None
After
8
|
|||||||
| 2825 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | nationality | |
|
Before
None
After
AU
|
|||||||
| 2826 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | gender | |
|
Before
None
After
true
|
|||||||
| 2827 | 2nd May 2026 | 13:42:19 UTC | ben_sandi | climber | Freda Du Faur | climber_name | |
|
Before
None
After
Freda Du Faur
|
|||||||
| 2828 | 2nd May 2026 | 13:30:02 UTC | ben_sandi | media | https://www.youtube.com/watch?v=LcGQiHsLbqk | missing_right_to_reproduce | |
|
Before
None
After
false
|
|||||||
| 2829 | 2nd May 2026 | 13:30:02 UTC | ben_sandi | media | https://www.youtube.com/watch?v=LcGQiHsLbqk | url | |
|
Before
None
After
https://www.youtube.com/watch?v=LcGQiHsLbqk
|
|||||||
| 2830 | 2nd May 2026 | 13:30:01 UTC | ben_sandi | climber | Campbell Harrison | notes_pretty | |
|
Before
<p>Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.</p>
<h3>References</h3>
<p>[1] Boulder by Boulder | Campbell Harrison Documentary: <a href="https://youtu.be/2NStCdy1L0I" rel="noopener noreferrer">https://youtu.be/2NStCdy1L0I</a></p>
After
<p>Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.</p>
<h3>References</h3>
<p>[1] Boulder by Boulder | Campbell Harrison Documentary: <a href="https://youtu.be/2NStCdy1L0I" rel="noopener noreferrer">https://youtu.be/2NStCdy1L0I</a></p>
<p>[2]
The Crux Episode 3: <a href="https://www.youtube.com/watch?v=LcGQiHsLbqk" rel="noopener noreferrer">https://www.youtube.com/watch?v=LcGQiHsLbqk</a></p>
|
|||||||
| 2831 | 2nd May 2026 | 13:30:01 UTC | ben_sandi | climber | Campbell Harrison | notes | |
|
Before
Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.
### References
[1] Boulder by Boulder | Campbell Harrison Documentary: [https://youtu.be/2NStCdy1L0I](https://youtu.be/2NStCdy1L0I)
After
Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.
### References
[1] Boulder by Boulder | Campbell Harrison Documentary: [https://youtu.be/2NStCdy1L0I](https://youtu.be/2NStCdy1L0I)
[2]
The Crux Episode 3: [https://www.youtube.com/watch?v=LcGQiHsLbqk](https://www.youtube.com/watch?v=LcGQiHsLbqk)
Diff
--- before
|
|||||||
| 2832 | 2nd May 2026 | 13:26:38 UTC | ben_sandi | climber | Campbell Harrison | age | |
|
Before
None
After
28
|
|||||||
| 2833 | 2nd May 2026 | 13:26:38 UTC | ben_sandi | climber | Campbell Harrison | date_of_birth_pretty | |
|
Before
After
28th Jun 1997
|
|||||||
| 2834 | 2nd May 2026 | 13:26:38 UTC | ben_sandi | climber | Campbell Harrison | date_of_birth_end | |
|
Before
None
After
1997-06-28
|
|||||||
| 2835 | 2nd May 2026 | 13:26:38 UTC | ben_sandi | climber | Campbell Harrison | date_of_birth_start | |
|
Before
None
After
1997-06-28
|
|||||||
| 2836 | 2nd May 2026 | 13:26:38 UTC | ben_sandi | climber | Campbell Harrison | ifsc_url | |
|
Before
None
After
https://ifsc.results.info/athlete/2493
|
|||||||
| 2837 | 2nd May 2026 | 13:26:38 UTC | ben_sandi | climber | Campbell Harrison | instagram_url | |
|
Before
None
After
https://www.instagram.com/campbell_harrison547/?hl=en
|
|||||||
| 2838 | 2nd May 2026 | 13:25:35 UTC | ben_sandi | climber | Campbell Harrison | notes_pretty | |
|
Before
<p>Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.</p>
<h3>References</h3>
<p>[1] <a href="https://youtu.be/2NStCdy1L0I" rel="noopener noreferrer">https://youtu.be/2NStCdy1L0I</a></p>
After
<p>Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.</p>
<h3>References</h3>
<p>[1] Boulder by Boulder | Campbell Harrison Documentary: <a href="https://youtu.be/2NStCdy1L0I" rel="noopener noreferrer">https://youtu.be/2NStCdy1L0I</a></p>
|
|||||||
| 2839 | 2nd May 2026 | 13:25:35 UTC | ben_sandi | climber | Campbell Harrison | notes | |
|
Before
Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.
### References
[1] [https://youtu.be/2NStCdy1L0I](https://youtu.be/2NStCdy1L0I)
After
Campbell is an Australian competition climber, who competed in the 2024 Paris Olympics.
### References
[1] Boulder by Boulder | Campbell Harrison Documentary: [https://youtu.be/2NStCdy1L0I](https://youtu.be/2NStCdy1L0I)
Diff
--- before
|
|||||||
| 2840 | 1st May 2026 | 23:00:16 UTC | ben_sandi | list | Crags to Create | list_definition | |
|
Before
with missing_crags as (
select
substring(c.eight_a_nu_url from '^(.+)/sectors/') as eight_a_nu_crag_url
,split_part(c.eight_a_nu_url, '/', 7) as eight_a_nu_crag_slug
,initcap(replace(split_part(c.eight_a_nu_url, '/', 7), '-', ' ')) as eight_a_nu_crag_name
,count(*) as climbs_missing
,string_agg(
'<a href="' || c.url || '">' || c.climb_name || '</a>',
', ' order by c.climb_name
) as climbs
from
climbs c
where
c.deleted_on is null
and c.crag_id is null
and c.eight_a_nu_url is not null
and split_part(c.eight_a_nu_url, '/', 7) not like 'unknown-crag%'
group by
substring(c.eight_a_nu_url from '^(.+)/sectors/')
,split_part(c.eight_a_nu_url, '/', 7)
)
select
'<a href="' || m.eight_a_nu_crag_url || '">' || m.eight_a_nu_crag_name || '</a>' as "8a.nu Crag"
,m.climbs_missing as "Climbs Missing"
,m.climbs as "Climbs"
,coalesce(site_crags.crag_exists, '') as "Crag Exists?"
from
missing_crags m
left join lateral (
select
string_agg(
'<a href="' || c2.url || '">' || c2.crag_name || '</a>',
', ' order by c2.crag_name
) as crag_exists
from
crags c2
where
c2.deleted_on is null
and (
(
length(m.eight_a_nu_crag_name) <= 4
and lower(regexp_replace(c2.crag_name, '[^a-z0-9]+', '', 'g')) =
lower(regexp_replace(m.eight_a_nu_crag_name, '[^a-z0-9]+', '', 'g'))
)
or
(
length(m.eight_a_nu_crag_name) between 5 and 8
and (
lower(c2.crag_name) ~ ('(^|[^a-z0-9])' || lower(regexp_replace(m.eight_a_nu_crag_name, '[^a-z0-9]+', ' ', 'g')) || '([^a-z0-9]|$)')
or lower(m.eight_a_nu_crag_name) ~ ('(^|[^a-z0-9])' || lower(regexp_replace(c2.crag_name, '[^a-z0-9]+', ' ', 'g')) || '([^a-z0-9]|$)')
)
)
or
(
length(m.eight_a_nu_crag_name) >= 9
and (
c2.crag_name ilike '%' || m.eight_a_nu_crag_name || '%'
or m.eight_a_nu_crag_name ilike '%' || c2.crag_name || '%'
)
)
)
) site_crags on true
order by
m.climbs_missing desc
,"8a.nu Crag"
After
select
'<a href="' ||
substring(c.eight_a_nu_url from '^(.+)/sectors/') ||
'">' ||
initcap(replace(split_part(c.eight_a_nu_url, '/', 7), '-', ' ')) ||
'</a>' as "8a.nu Crag"
,count(*) as "Climbs Missing"
,string_agg(
'<a href="' || c.url || '">' || c.climb_name || '</a>',
', ' order by c.climb_name
) as "Climbs"
from
climbs c
where
c.deleted_on is null
and c.crag_id is null
and c.eight_a_nu_url is not null
and split_part(c.eight_a_nu_url, '/', 7) not like 'unknown-crag%'
group by
substring(c.eight_a_nu_url from '^(.+)/sectors/')
,split_part(c.eight_a_nu_url, '/', 7)
order by
count(*) desc
,"8a.nu Crag"
Diff
--- before
|
|||||||