Skip to content

Issue #29: Refactor postgres adapter

Lucas Fernandes de Oliveira requested to merge issue/29 into master

A geração da consulta foi dividida em duas partes.

Na primeira parte foi usado o algoritmo recursivo. Ao invés de gerar a consulta esse algoritmo recursivo encontra a views materializadas mais apropriadas para realizar as consultas. Esse algoritmo retorna uma lista de views materializadas que contem todos os dados necesssários para realizar a consulta.

A segunda parte é aonde a view é transformada em consulta, com a lista de views não é mais necessário fazer recursivo. Apenas seleciona os dados nas views apropriadas e faz o join das respectivas views.

Dessa forma a consulta fica muito simples.

SELECT lista de metricas e dimensões FROM lista de views materializadas WHERE joins para dimensões existentes em duas views GROUP BY lista de dimensões

Signed-off-by: Lucas Fernandes de Oliveira lfo14@inf.ufpr.br

Merge request reports

Loading