Skip to content

feature: analytics DAY — generate_series preenche lacunas diárias#23

Merged
nitaibezerra merged 2 commits into
mainfrom
feat/analytics-day-gaps
Jun 26, 2026
Merged

feature: analytics DAY — generate_series preenche lacunas diárias#23
nitaibezerra merged 2 commits into
mainfrom
feat/analytics-day-gaps

Conversation

@nitaibezerra

Copy link
Copy Markdown
Contributor

Summary

  • Adiciona _AGENCY_ANALYTICS_DAY_SQL com generate_series para garantir que todos os dias do intervalo aparecem quando granularity=DAY
  • Dias sem artigos retornam article_count=0 via COALESCE em vez de simplesmente sumirem do resultado
  • MONTH e WEEK continuam usando o SQL existente com DATE_TRUNC parametrizado
  • 3 novos testes em TestAgencyAnalyticsDayGapFill verificam: seleção correta do SQL por granularidade e comportamento do gap-fill

Test plan

  • test_day_granularity_usa_generate_series — confirma que DAY usa a SQL com generate_series
  • test_month_granularity_usa_date_trunc — confirma que MONTH usa o SQL com DATE_TRUNC($1
  • test_day_retorna_zeros_para_dias_sem_artigos — valida dias com article_count=0 e métricas None
  • Todos os 12 testes do arquivo passam

…ense)

Adiciona resolver entityArticles(entityId, page, limit) que consulta
news_entities → news diretamente no Postgres, sem depender do campo
entityCanonical no Typesense (reprocessamento ainda pendente).

- _ENTITY_ARTICLES_SQL: CTE deduplica por unique_id, conta total sem
  window fn no outer SELECT, ordena por published_at DESC
- PostgresDatasource.get_entity_articles(): retorna (records, total_count)
- EntityQuery.entity_articles(): mapeaia NewsRecord → Article via helper
  _news_record_to_article; safe clamp em page/limit
- SDL regenerado: entityArticles(entityId, page, limit) → ArticlesResult
Quando granularity=DAY, _AGENCY_ANALYTICS_DAY_SQL usa generate_series para
garantir que todos os dias do intervalo aparecem no resultado mesmo sem artigos
(article_count=0 via COALESCE). MONTH e WEEK continuam usando DATE_TRUNC.
@nitaibezerra nitaibezerra merged commit 518fbee into main Jun 26, 2026
4 checks passed
@nitaibezerra nitaibezerra deleted the feat/analytics-day-gaps branch June 26, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant