Spaces:
Paused
Paused
| -- Validation queries for v1.32 ministry and government view fixes | |
| -- GitHub Issue: #7884 | |
| -- Purpose: Verify that fixes work correctly | |
| \echo '============================================================================' | |
| \echo 'VALIDATION: v1.32 Ministry and Government View Fixes' | |
| \echo 'GitHub Issue: #7884' | |
| \echo '============================================================================' | |
| \echo '' | |
| -- ============================================================================ | |
| -- 1. Test government proposals view (FIXED in v1.32) | |
| -- ============================================================================ | |
| \echo '1. Testing view_riksdagen_goverment_proposals...' | |
| \echo 'Expected: Should return >0 rows if government proposals exist' | |
| \echo '' | |
| SELECT | |
| COUNT(*) AS total_proposals, | |
| MIN(made_public_date) AS earliest_proposal, | |
| MAX(made_public_date) AS latest_proposal, | |
| COUNT(DISTINCT org) AS unique_organizations | |
| FROM view_riksdagen_goverment_proposals; | |
| \echo '' | |
| \echo 'Status: If total_proposals > 0, view is WORKING' | |
| \echo 'Status: If total_proposals = 0, check document_data for PROP/prop documents' | |
| \echo '' | |
| -- ============================================================================ | |
| -- 2. Test ministry effectiveness trends view | |
| -- ============================================================================ | |
| \echo '2. Testing view_ministry_effectiveness_trends...' | |
| \echo 'Expected: Should return >0 rows if ministry data exists' | |
| \echo '' | |
| SELECT | |
| COUNT(*) AS total_records, | |
| COUNT(DISTINCT org_code) AS unique_ministries, | |
| MIN(period_start) AS earliest_period, | |
| MAX(period_start) AS latest_period, | |
| SUM(documents_produced) AS total_documents | |
| FROM view_ministry_effectiveness_trends; | |
| \echo '' | |
| \echo 'Status: If total_records > 0, view is WORKING' | |
| \echo 'Status: If total_records = 0, run diagnose-ministry-views.sql' | |
| \echo '' | |
| -- ============================================================================ | |
| -- 3. Test ministry productivity matrix view | |
| -- ============================================================================ | |
| \echo '3. Testing view_ministry_productivity_matrix...' | |
| \echo 'Expected: Should return >0 rows if ministry annual data exists' | |
| \echo '' | |
| SELECT | |
| COUNT(*) AS total_records, | |
| COUNT(DISTINCT org_code) AS unique_ministries, | |
| MIN(year) AS earliest_year, | |
| MAX(year) AS latest_year, | |
| SUM(documents_produced) AS total_documents | |
| FROM view_ministry_productivity_matrix; | |
| \echo '' | |
| \echo 'Status: If total_records > 0, view is WORKING' | |
| \echo 'Status: If total_records = 0, run diagnose-ministry-views.sql' | |
| \echo '' | |
| -- ============================================================================ | |
| -- 4. Test ministry risk evolution view | |
| -- ============================================================================ | |
| \echo '4. Testing view_ministry_risk_evolution...' | |
| \echo 'Expected: Should return >0 rows if ministry quarterly data exists' | |
| \echo '' | |
| SELECT | |
| COUNT(*) AS total_records, | |
| COUNT(DISTINCT org_code) AS unique_ministries, | |
| MIN(assessment_period) AS earliest_period, | |
| MAX(assessment_period) AS latest_period, | |
| AVG(risk_score) AS avg_risk_score, | |
| COUNT(*) FILTER (WHERE risk_severity IN ('HIGH', 'CRITICAL')) AS high_risk_count | |
| FROM view_ministry_risk_evolution; | |
| \echo '' | |
| \echo 'Status: If total_records > 0, view is WORKING' | |
| \echo 'Status: If total_records = 0, run diagnose-ministry-views.sql' | |
| \echo '' | |
| -- ============================================================================ | |
| -- 5. Summary of all 4 views | |
| -- ============================================================================ | |
| \echo '============================================================================' | |
| \echo 'SUMMARY: View Status After v1.32 Fixes' | |
| \echo '============================================================================' | |
| \echo '' | |
| SELECT | |
| 'view_riksdagen_goverment_proposals' AS view_name, | |
| (SELECT COUNT(*) FROM view_riksdagen_goverment_proposals) AS row_count, | |
| CASE | |
| WHEN (SELECT COUNT(*) FROM view_riksdagen_goverment_proposals) > 0 | |
| THEN '[OK] WORKING' | |
| ELSE '[EMPTY] Check document_data' | |
| END AS status | |
| UNION ALL | |
| SELECT | |
| 'view_ministry_effectiveness_trends', | |
| (SELECT COUNT(*) FROM view_ministry_effectiveness_trends), | |
| CASE | |
| WHEN (SELECT COUNT(*) FROM view_ministry_effectiveness_trends) > 0 | |
| THEN '[OK] WORKING' | |
| ELSE '[WARNING] EMPTY (data dependency - see diagnostics)' | |
| END | |
| UNION ALL | |
| SELECT | |
| 'view_ministry_productivity_matrix', | |
| (SELECT COUNT(*) FROM view_ministry_productivity_matrix), | |
| CASE | |
| WHEN (SELECT COUNT(*) FROM view_ministry_productivity_matrix) > 0 | |
| THEN '[OK] WORKING' | |
| ELSE '[WARNING] EMPTY (data dependency - see diagnostics)' | |
| END | |
| UNION ALL | |
| SELECT | |
| 'view_ministry_risk_evolution', | |
| (SELECT COUNT(*) FROM view_ministry_risk_evolution), | |
| CASE | |
| WHEN (SELECT COUNT(*) FROM view_ministry_risk_evolution) > 0 | |
| THEN '[OK] WORKING' | |
| ELSE '[WARNING] EMPTY (data dependency - see diagnostics)' | |
| END | |
| ORDER BY view_name; | |
| \echo '' | |
| \echo '============================================================================' | |
| \echo 'Next Steps:' | |
| \echo '============================================================================' | |
| \echo '' | |
| \echo 'If any ministry views show EMPTY:' | |
| \echo '1. Run: psql -U cia_user -d cia -f diagnose-ministry-views.sql' | |
| \echo '2. Check diagnostic output for root cause' | |
| \echo '3. Review TROUBLESHOOTING_EMPTY_VIEWS.md ministry section' | |
| \echo '4. Verify data sources:' | |
| \echo ' - assignment_data has ministry assignments' | |
| \echo ' - view_riksdagen_politician_document is refreshed' | |
| \echo ' - Documents exist in 3-year window' | |
| \echo '' | |
| \echo 'If government proposals view shows EMPTY:' | |
| \echo '1. Check: SELECT COUNT(*) FROM document_data WHERE UPPER(document_type) LIKE ''%PROP%'';' | |
| \echo '2. If 0, import government proposal documents from Riksdagen API' | |
| \echo '3. If >0, verify view definition includes case-insensitive filter' | |
| \echo '' | |
| \echo '============================================================================' | |
| \echo 'Validation Complete' | |
| \echo '============================================================================' | |