blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2017-08-01T13:44:28Zhttps://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 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/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/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/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/39Função de agregação MAX e MIN não foram definidas2017-08-25T11:57:51ZLucas Fernandes de OliveiraFunção de agregação MAX e MIN não foram definidasAdicionar MAX e MIN ao tipo AggregationType e adcionar nos respectilos locais necessários (ConfigParser e PostgresAdapter se não me engano)Adicionar MAX e MIN ao tipo AggregationType e adcionar nos respectilos locais necessários (ConfigParser e PostgresAdapter se não me engano)Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/40Atualizar modo como métricas, dimensões e views são referenciadas nos testes.2017-08-25T12:34:29ZLucas Fernandes de OliveiraAtualizar modo como métricas, dimensões e views são referenciadas nos testes.Durante os testes as métricas, dimensões e views são lidas e armazenadas em vetores. Até a Issue #39) isso não foi um problema, mas agora em todos os testes isso deve ser corrigido. A princio uma mudança no arquivo de scenario, que conce...Durante os testes as métricas, dimensões e views são lidas e armazenadas em vetores. Até a Issue #39) isso não foi um problema, mas agora em todos os testes isso deve ser corrigido. A princio uma mudança no arquivo de scenario, que concentra todos os testes e lê do arquivo de configuração grande parte dos dados usados nos testes deve concertar o problema. Mas ainda assim outros locais devem ser conferidos e subtitiuidos.
Encontrar referências a métricas, dimensões e views que utilizam índice e realizar a ordenação apropriada para corrigir o erro de forma mais rápida.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/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/52Adicionar verificação de texto (linter) ao projeto2017-12-04T10:54:01ZLucas Fernandes de OliveiraAdicionar verificação de texto (linter) ao projetoEmbora o projeto tenha uma configuração de linter ele não é utilizado ao gerar uma build. Falhar a build se o projeto não atender os padrões do linter.Embora o projeto tenha uma configuração de linter ele não é utilizado ao gerar uma build. Falhar a build se o projeto não atender os padrões do linter.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/54Reestrututar arquivos de configuração2017-12-20T11:17:26ZLucas Fernandes de OliveiraReestrututar arquivos de configuraçãoTransformar os campos struct e connection em variáveis de ambiente.Transformar os campos struct e connection em variáveis de ambiente.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/64Atualizar exemplo de configuração2018-03-19T11:49:27ZLucas Fernandes de OliveiraAtualizar exemplo de configuraçãoOs arquivos exemplo de configuração estão em um formato antigo, devem ser atualzados para serem compatíveis com as configurações atuais.
Os novos arquivos exemplo devem conter um exemplo de cada campo possível e este deve ser comentado,...Os arquivos exemplo de configuração estão em um formato antigo, devem ser atualzados para serem compatíveis com as configurações atuais.
Os novos arquivos exemplo devem conter um exemplo de cada campo possível e este deve ser comentado, exemplificando sua funçãohttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/65Adicionar rota para tipos enumerais e campo no arquivo de configuração2018-04-04T13:11:37ZLucas Fernandes de OliveiraAdicionar rota para tipos enumerais e campo no arquivo de configuraçãoAdicionar um novo campo ao arquivo de configuração que permite definir tipos enumeráveis. Esses tipos estão disponíveis para o campo "datatype".
Essa rota deve listar as fontes existentes:
* [x] Criar classe EnumType -- ```src/core/enu...Adicionar um novo campo ao arquivo de configuração que permite definir tipos enumeráveis. Esses tipos estão disponíveis para o campo "datatype".
Essa rota deve listar as fontes existentes:
* [x] Criar classe EnumType -- ```src/core/enumType.ts```
* [x] Ler Enums a partir do arquivo de configuração -- ```src/util/configParser.ts```
* [x] Adicionar as enums lidas a Engine -- ```src/core/engine.ts```
* [x] Criar a rota no arquivo RAML -- ```spec/*.raml```
* [x] Adcionar um rota no controller da engine que devolve as fontes -- ```src/api/controllers/engine.ts```
O enum basicamente é uma lista de strings, no arquivo de configuração uma lista de strings deve ser lidas, essa representa os valores possíveis.
Para ler do arquivo de configuração há dois campos
name: nome do enum
values: uma lista (de strings) com os valores possíveis1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/72Remover arquivos legados2018-04-05T14:06:52ZLucas Fernandes de OliveiraRemover arquivos legadosAlguns arquivos, como ```src/core/server``` e ```src/core/transformer``` são arquivos de uma versão legada que não são utilizados atualmente. Esses arquivos "inuteis" devem ser removidos pois provavelmente se sua funcionalidade for requi...Alguns arquivos, como ```src/core/server``` e ```src/core/transformer``` são arquivos de uma versão legada que não são utilizados atualmente. Esses arquivos "inuteis" devem ser removidos pois provavelmente se sua funcionalidade for requisitada, provavelmente não será compatível com a versão atual (o que ocorreu com ```src/core/source```)1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/68Adicionar tipo de retorno em todos os métodos2018-04-05T14:38:37ZLucas Fernandes de OliveiraAdicionar tipo de retorno em todos os métodosAlgumas classes possuem métodos que não dizem explicitamente o tipo de retorno. Definir o tipo explicitamente.Algumas classes possuem métodos que não dizem explicitamente o tipo de retorno. Definir o tipo explicitamente.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/78Adicionar yarn e npm shrinkwrap2018-05-07T12:19:25ZLucas Fernandes de OliveiraAdicionar yarn e npm shrinkwrapO yarn promete ser uma evolução do npm. Não se sabe se o yarn subtituirá completamente o npm mas o principal motivo para realizar a mudança é o fato de o yarn utilizar por padrão o travamento preciso da versão dos pacotes.
Essa funciona...O yarn promete ser uma evolução do npm. Não se sabe se o yarn subtituirá completamente o npm mas o principal motivo para realizar a mudança é o fato de o yarn utilizar por padrão o travamento preciso da versão dos pacotes.
Essa funcionalidade está disponível com o npm utilizando o comando npm shrinkwrap.
Como o docker está sendo utilizado, a versão dos pacotes deve ser precisa.
Alterar configurações necessaŕias e arquivos Docker para utilização de versão precisa.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/67Validar dataType2018-05-15T13:02:06ZRafael DiasValidar dataTypeÈ necessario validar o dataType contido no arquivo de configuração ```config/config.yaml```.È necessario validar o dataType contido no arquivo de configuração ```config/config.yaml```.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/77Definir local para os tipos2018-05-15T13:02:19ZRafael DiasDefinir local para os tiposQuais são e aonde estão definidos os tipos que serão usados como padrão no BlendbQuais são e aonde estão definidos os tipos que serão usados como padrão no Blendb1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/73Gerar cobertura de código como artefato do pipeline2018-05-16T13:40:42ZLucas Fernandes de OliveiraGerar cobertura de código como artefato do pipelineAo executar um pipeline a bobertura de código deve ser devolvida como uma artefato, assim é possível verificar as linhas dos novos arquivos que adicionadosAo executar um pipeline a bobertura de código deve ser devolvida como uma artefato, assim é possível verificar as linhas dos novos arquivos que adicionados1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/44Mover metricas dimensionais para Engine2018-05-16T13:40:54ZLucas Fernandes de OliveiraMover metricas dimensionais para EngineAtualmente as métricas dimensionais são tratadas apenas pelo adapter. Esse efeito surge ao realizar certos Joins entre as views sobre certas condições.
Descobrir se esse problema já pode ser detectado na Engine, e resolvido nesse ponto....Atualmente as métricas dimensionais são tratadas apenas pelo adapter. Esse efeito surge ao realizar certos Joins entre as views sobre certas condições.
Descobrir se esse problema já pode ser detectado na Engine, e resolvido nesse ponto. Provavelmente se isso for possivel, a view deverá ter uma estrutura mais elaborada do que um vetor de childViews para passar ao adapter para gerar a consulta. Provavelmente terá que indicar exatamente quais joins devem ser feitos e quais agregações devem ser feitas.
Com essa alteração o adapter terá que ser refatorado (Novamente), mas provavelmente deverá ficar mais simples.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveira