Skip to content

Analysis entity ages filter not working correctly #166

Description

@johanvonboer

Filter SQL for maximum selection is:

WITH categories(category, category_range) AS (
SELECT n::text || ' to ' || (n + 50000.0::integer)::text, int4range(n, (n + 50000.0::integer)), n as lower, (n + 50000.0::integer) as upper
FROM generate_series(-5350000.0::integer, 50000.0::integer, 50000.0::integer) as a(n)
WHERE n < 50000.0
)
SELECT c.category, lower(c.category_range)::integer, upper(c.category_range)::integer, COALESCE(r.count_column, 0) as count_column
FROM categories c
LEFT JOIN (
SELECT category, COUNT(DISTINCT tbl_analysis_entities.analysis_entity_id) AS count_column
FROM tbl_analysis_entity_ages
JOIN categories
ON categories.category_range && age_range::int4range
INNER JOIN tbl_analysis_entities ON tbl_analysis_entities."analysis_entity_id" = tbl_analysis_entity_ages."analysis_entity_id"
WHERE TRUE
AND int4range(-5329925, 75, '[]') && age_range
GROUP BY category
) AS r
ON r.category = c.category
ORDER BY c.category_range

And this provides a result where all categories older than 50k years BP are empty:

Image

But we know there should be sites which contain data as old as 5.3 million years because this SQL:

SELECT * FROM public.tbl_analysis_entity_ages
WHERE age_older IS NOT NULL
ORDER BY age_older DESC 

Results in:

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions