drh/cgm-data/raw-cgm/uniform_resource_cgm_tracing.sql


    SELECT 'dynamic' AS component, sqlpage.run_sql('shell/shell.sql') AS properties;
    -- not including breadcrumbs from sqlpage_aide_navigation
    -- not including page title from sqlpage_aide_navigation

    SELECT 'breadcrumb' as component;
    WITH RECURSIVE breadcrumbs AS (
        SELECT
            COALESCE(abbreviated_caption, caption) AS title,
            COALESCE(url, path) AS link,
            parent_path, 0 AS level,
            namespace
        FROM sqlpage_aide_navigation
        WHERE namespace = 'prime' AND path = 'drh/cgm-data'
        UNION ALL
        SELECT
            COALESCE(nav.abbreviated_caption, nav.caption) AS title,
            COALESCE(nav.url, nav.path) AS link,
            nav.parent_path, b.level + 1, nav.namespace
        FROM sqlpage_aide_navigation nav
        INNER JOIN breadcrumbs b ON nav.namespace = b.namespace AND nav.path = b.parent_path
    )
    SELECT title, link FROM breadcrumbs ORDER BY level DESC;
    SELECT 'uniform_resource_cgm_tracing' || ' Table' AS title, '#' AS link;
    
    SELECT 'title' AS component, 'uniform_resource_cgm_tracing' AS contents;
    

    -- Initialize pagination
    SET total_rows = (SELECT COUNT(*) FROM 'uniform_resource_cgm_tracing');
    SET limit = COALESCE($limit, 50);
    SET offset = COALESCE($offset, 0);
    SET total_pages = ($total_rows + $limit - 1) / $limit;
    SET current_page = ($offset / $limit) + 1;

    -- Display table with pagination
    SELECT 'table' AS component,
        TRUE AS sort,
        TRUE AS search;
    SELECT * FROM 'uniform_resource_cgm_tracing'
    LIMIT $limit
    OFFSET $offset;    

    SELECT 'text' AS component,
        (SELECT CASE WHEN $current_page > 1 THEN '[Previous](?limit=' || $limit || '&offset=' || ($offset - $limit) || ')' ELSE '' END) || ' ' ||
        '(Page ' || $current_page || ' of ' || $total_pages || ')' || ' ' ||
        (SELECT CASE WHEN $current_page < $total_pages THEN '[Next](?limit=' || $limit || '&offset=' || ($offset + $limit) || ')' ELSE '' END)
        AS contents_md;