blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2017-08-18T11:54:17Zhttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/37Fazer script para geração das views no banco2017-08-18T11:54:17ZLucas Fernandes de OliveiraFazer script para geração das views no bancoFazer um script que dado o arquivo de configuração do blendb Carregue uma consulta pré-definida para as views origem e utilize a engine e o adapter para criar uma materialized view para as views que não são origem dos dados.Fazer um script que dado o arquivo de configuração do blendb Carregue uma consulta pré-definida para as views origem e utilize a engine e o adapter para criar uma materialized view para as views que não são origem dos dados.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/36BUG: Em alguns casos os filtros não funcionam como o esperado2017-08-18T11:54:51ZLucas Fernandes de OliveiraBUG: Em alguns casos os filtros não funcionam como o esperadoAo tentar testes com uma única métrica, sem dimensões foi identificado um problema.
A primeira consulta, logo após o BlenDB comoçar a rodar funcionava exatamente como o esperado mas a segunda consulta não, ela retornava exatamente o me...Ao tentar testes com uma única métrica, sem dimensões foi identificado um problema.
A primeira consulta, logo após o BlenDB comoçar a rodar funcionava exatamente como o esperado mas a segunda consulta não, ela retornava exatamente o mesmo resultado da primeira, como se o filtro não tivesse sido modificado.
Não importava qual o parametro do filtro ou se havia filtro ou não, o resultado ficava travado.
Descobrir a causa e resolver o problema.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/35ConfigParser não le filtros2017-08-15T12:19:26ZLucas Fernandes de OliveiraConfigParser não le filtrosAtualmente, views adicionadas através do arquivo de configuração não podem ter filtros. Tornar isso possívelAtualmente, views adicionadas através do arquivo de configuração não podem ter filtros. Tornar isso possívelLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/34BUG: Filtro não relacionado retorna erro2017-08-11T13:01:42ZLucas Fernandes de OliveiraBUG: Filtro não relacionado retorna erroNa situação na qual o conjunto de views escolhidas é tentado aplicar um filtro sobre uma dimensão que não está nesse conjunto, exemplo uma consulta que só faz menção a dados de rede mas tem uma restrição sobre o inventário que não afeita...Na situação na qual o conjunto de views escolhidas é tentado aplicar um filtro sobre uma dimensão que não está nesse conjunto, exemplo uma consulta que só faz menção a dados de rede mas tem uma restrição sobre o inventário que não afeitaria em nada os dados retornados, com ou sem esse filtro, falha e retorna um erro quando o comportamento esperado é a anulação do filtro.
Identificar esses filtros e remove-los da lista de filtrosLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/33Melhorar função de analise dos filtros2017-10-16T11:49:30ZLucas Fernandes de OliveiraMelhorar função de analise dos filtrosA escolha de views e agregações é limitada pelos filtros aplicados. No momento apenas se o filtro casar perfeitamente (tem que se identico) a view é escolhida. En varios casos é o suficiente (Para operadores == e !=), porém com o operado...A escolha de views e agregações é limitada pelos filtros aplicados. No momento apenas se o filtro casar perfeitamente (tem que se identico) a view é escolhida. En varios casos é o suficiente (Para operadores == e !=), porém com o operador de > por exemplo, se a restrição é de maior que 3 meses, maior que 6 meses também poderia utilizar essa view, mas isso não ocorre.
Operadores individuais parecem simples de resolver, bastaria olhar o operador do filtro e aplicar algumas comparações, entretanto quando combinados com operador OR (maior que 3 meses ou ativo) já não funciona tão bem.
Acredito que o melhor é analizar alguns casos que seriam mais úteis que e que mais ocorrem e tentar abordar esse modelo mais restrito do que acertar 100% dos casos.
Encontrar essa lista de casos e melhorar a escolha dos filtros, a principio modificar a função checkConstranits da classe graph deve ser o suficiente para aplicar as mudanças.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/32Adicionar mais testes ao adaptador2017-08-11T13:55:07ZLucas Fernandes de OliveiraAdicionar mais testes ao adaptadorO adaptador postgres está com cobertura muito abaixo em relação a outras áreas do BlenDB. Algumas situações deixaram de ser cobertas pelos testes com a refatoração do adaptador, por exemplo a condição na qual a agregação COUNT é feita em...O adaptador postgres está com cobertura muito abaixo em relação a outras áreas do BlenDB. Algumas situações deixaram de ser cobertas pelos testes com a refatoração do adaptador, por exemplo a condição na qual a agregação COUNT é feita em uma View que não é a origem.
Algumas situações que envolvem filtros também não são cobertas.
Criar testes para cobrir essas aréas.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/31Implementar operadores >, < , >=, <= para filtros2017-08-11T14:09:48ZLucas Fernandes de OliveiraImplementar operadores >, < , >=, <= para filtrosAdicionar esses operadores, apenas para os tipos apropriados (datas, inteiros).
Além disso estudar como será feita a cobertura por essas condições.Adicionar esses operadores, apenas para os tipos apropriados (datas, inteiros).
Além disso estudar como será feita a cobertura por essas condições.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/30Remover ChildView2017-08-09T11:46:41ZLucas Fernandes de OliveiraRemover ChildViewChidView é uma classe auxiliar que representa views filhas de outra view. É composta pelas metricas e dimensões que a filha cobre da mãe, e uma referencia para o objeto do tipo View da filha. Essa classe era essencialmente usada para o a...ChidView é uma classe auxiliar que representa views filhas de outra view. É composta pelas metricas e dimensões que a filha cobre da mãe, e uma referencia para o objeto do tipo View da filha. Essa classe era essencialmente usada para o adaptador que precisava saber quem cobria o que. Com a refatoração do adaptador (#29) essa estrutura foi completamente removida do adaptador.
Verificar se há outras partes do código onde essa estrutura é realmente necessária ou se pode ser substituida apenas com a classe View. Se esse for o caso remover todas as referencias para ChildView.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/29Atualizar Adaptador do Postgres - Geração de consultas2017-08-08T18:36:33ZLucas Fernandes de OliveiraAtualizar Adaptador do Postgres - Geração de consultasBásicamente no BlenDB uma consulta é representada como uma view.
A API faz o tradução dos atributos e transforma em um objeto do tipo Query.
Esse objeto do tipo Query é enviado a Engine que transforma em um Objeto do tipo View.
Uma vi...Básicamente no BlenDB uma consulta é representada como uma view.
A API faz o tradução dos atributos e transforma em um objeto do tipo Query.
Esse objeto do tipo Query é enviado a Engine que transforma em um Objeto do tipo View.
Uma view contém informações sobre quais dados estão disponiveis através dela (métricas e dimenções) e contém um conjunto de views filhas, que serão usadas como fonte de dados, a menos que a view seja materializada.
O algoritmo de geração de consultas recebe uma view e traduz em uma string SQL que é aceita pelo postgres. Isso é feito através de um processo recursivo, gerando as consultas das views filhas e então as usando como fonte (Tabelas) de dados.
Acredito que é possivel ao invés de gerar consultas para as views filhas e depois as utilizar como fonte de dados é possivel apenas identificar os pontos de interesse daquela view e propagar esses dados para "cima". Acredito que isso pode deixar a consulta mais eficiente além de facilitar manutenções e alterações.
A proposta dessa tarefa é encontrar a fonte real dos dados e subir essa informação e realizar apenas uma camada de JOINS apenas com as tabelas reais/materializadas.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/28Atualizar mensagem de erro na API2017-08-25T13:17:19ZLucas Fernandes de OliveiraAtualizar mensagem de erro na APIQuando uma requisição falha pode ser por vários motivos, métrica não encontrada ou dimensão não encontrada, mas as respostas das requisições pouco informam sobre isso, apenas dizem que deu um erro. Modifica-las para serem mais informativ...Quando uma requisição falha pode ser por vários motivos, métrica não encontrada ou dimensão não encontrada, mas as respostas das requisições pouco informam sobre isso, apenas dizem que deu um erro. Modifica-las para serem mais informativas, apenas acrescentar a causa do erro na maioria dos casos deve ser o suficienteLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/27BUG: função de agregação count não funciona como esperado2017-08-04T11:27:06ZLucas Fernandes de OliveiraBUG: função de agregação count não funciona como esperadoAs função de agregação podem ser aplicadas diversas vezes sobre um mesmo dado. Isso normalmente não é um problema para somas e medias pois a soma das somas é a soma e a media das médias é a media, entretanto a contagem da contagem não é...As função de agregação podem ser aplicadas diversas vezes sobre um mesmo dado. Isso normalmente não é um problema para somas e medias pois a soma das somas é a soma e a media das médias é a media, entretanto a contagem da contagem não é a contagem total, o resultado é possivelmente bem menor. O resultado correto seria apenas na view de origem realizar a contagem e nas camadas superiores realizar a soma.
Lembrando que não basta realizar COUNT se a view for materializada e SUM caso contrario, pois uma view materializada não é necessáriamente a origem daquele dado.
Esse erro deve se limitar a mecher no adaptador (gerador de consulta)Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/26Mudar padrão de nomes de metricas e dimensões2017-08-03T13:44:33ZLucas Fernandes de OliveiraMudar padrão de nomes de metricas e dimensõesMetricas e dimensões podem ter qualquer string como nome, entretanto é adotado um padrão. O padrão agora é utilizar CamelCase (Letras maiusculas são separadores de palavras, ao invés de _ - ou ' '), dimensões começam com a palavra dim se...Metricas e dimensões podem ter qualquer string como nome, entretanto é adotado um padrão. O padrão agora é utilizar CamelCase (Letras maiusculas são separadores de palavras, ao invés de _ - ou ' '), dimensões começam com a palavra dim seguida de : seguida do nome e metricas começam com a palavra met seguida de : seguida da função de agregação sefuinda de : seguida de nome.
Atualizar os nomes fora do padrão (não é necessário nos testes)Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/25Api separa campos de forma errada2017-08-03T13:44:30ZLucas Fernandes de OliveiraApi separa campos de forma erradaQuanto o campo é vazio a função split gera um vetor com uma tring varia e não um vetor vazio. Remover os campos vaziosQuanto o campo é vazio a função split gera um vetor com uma tring varia e não um vetor vazio. Remover os campos vaziosLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/24Sub dimensões para localização2018-04-03T12:10:29ZLucas Fernandes de OliveiraSub dimensões para localizaçãoDe certa forma a localização é feita de forma hierarquica, é possivel extrair do código ibge (confirmar essa informação) estado, cidade, região. Entretanto isso exigiria criar no blendb uma nova relação (RelationType) que levaria a perda...De certa forma a localização é feita de forma hierarquica, é possivel extrair do código ibge (confirmar essa informação) estado, cidade, região. Entretanto isso exigiria criar no blendb uma nova relação (RelationType) que levaria a perda de generalidade.
Estudar as opções ou encontrar uma forma de remover a RelationType e encontrar algo genérico onde na configuração do blendb pode-se escolher as relações (Problema a geração de consulta)RevisionLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/23Implementar filtros básicos2017-08-10T12:35:24ZLucas Fernandes de OliveiraImplementar filtros básicosImplementar filtros para dimensões. Isso significa o trabalho completo, desde adicionar o parâmetro na API até modificar o gerador de consulta para aplicar os filtros
No momento apenas dois operadores serão implementados, igualdade e de...Implementar filtros para dimensões. Isso significa o trabalho completo, desde adicionar o parâmetro na API até modificar o gerador de consulta para aplicar os filtros
No momento apenas dois operadores serão implementados, igualdade e desigualdade, mas a estrutura deve ser feita para facilitar a criação de outros filtros.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/22Incrementar Algoritmo de Cobertura para considerar conectividade das Views2017-07-14T14:36:49ZLucas Fernandes de OliveiraIncrementar Algoritmo de Cobertura para considerar conectividade das ViewsUm problema conhecido com a cobertura gerada pelo BlenDB é que o conjunto de Views selecionadas nem sempre pode sofrer um join perfeito, em alguns casos é feito um produto cartesiano que pode levar a resultados inconsistentes.
O esquema...Um problema conhecido com a cobertura gerada pelo BlenDB é que o conjunto de Views selecionadas nem sempre pode sofrer um join perfeito, em alguns casos é feito um produto cartesiano que pode levar a resultados inconsistentes.
O esquema do banco que o BlenDB usa pode ser representado por um grafo onde os vértices são métricas e dimensões e uma aresta existe entre dois vértices se, e somente se eles fazem parte de uma mesma view.
Uma consulta pode ser vista como um sub-grafo, onde o Usuário escolhe os vértices e o BlenDB escolhe as arestas.
Para que a consulta não realize produtos, o sub-grafo resultante da consulta deve ser conexo.
Implementar esse grafo para representar o esquema do banco, mantê-lo com a adição de métricas e dimensões e views e implementar o algoritmo que verifica conectividade do sub-grafo. Uma busca em largura deve resolver.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/21Atualizar Modulos e dependencias2017-07-04T17:36:55ZLucas Fernandes de OliveiraAtualizar Modulos e dependenciasAo tentar realizar uma build ocorreu falha ao instalar os modulos. Foi detectado qeu ajustar a versão de alguns modulos é o suficiente para resolver o problema. Travar as versões dos modulos para continuar funcionando.Ao tentar realizar uma build ocorreu falha ao instalar os modulos. Foi detectado qeu ajustar a versão de alguns modulos é o suficiente para resolver o problema. Travar as versões dos modulos para continuar funcionando.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/20Está sendo exibido o html do API Reference2018-04-03T12:09:53ZDavisson Henrique PaulinoEstá sendo exibido o html do API ReferenceO link do API Reference no readme aponta para o código html, ao invés de mostrar ele de fato. Talvez colocar ele na wiki?O link do API Reference no readme aponta para o código html, ao invés de mostrar ele de fato. Talvez colocar ele na wiki?Revisionhttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/19Redefinir casos de teste2017-07-04T17:36:53ZLucas Fernandes de OliveiraRedefinir casos de testeCriar um novo conjunto de Views, com metricas e dimensões de uma forma mais consistente e deixar documentado,
Com o novo conjunto de views refazer os testes para que continuem corretos.Criar um novo conjunto de Views, com metricas e dimensões de uma forma mais consistente e deixar documentado,
Com o novo conjunto de views refazer os testes para que continuem corretos.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/18ConfigParser não converte sub-dimensões2017-08-01T13:44:28ZLucas Fernandes de OliveiraConfigParser não converte sub-dimensõesConfigParser consegue detectar subdimensões no arquivo de configuração mas não as cria como subdimensões.
Alterar para converter subdimensões. Verificar se mudança no arquivo de configuração é necessáriaConfigParser consegue detectar subdimensões no arquivo de configuração mas não as cria como subdimensões.
Alterar para converter subdimensões. Verificar se mudança no arquivo de configuração é necessáriaLucas Fernandes de OliveiraLucas Fernandes de Oliveira