blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2019-02-08T12:50:18Zhttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/102Revisar o impacto das mudaças da issue #92 em arquivos não coberto pelo teste CI2019-02-08T12:50:18ZRafael DiasRevisar o impacto das mudaças da issue #92 em arquivos não coberto pelo teste CIO arquivo docker-compose.yml, loadTest.ts e schema.ts precisam ser atualizados.
Verificar a possibilidade de inserir o compose no ci, ou aumentar a cobertura para evitar essa falha no futuro.O arquivo docker-compose.yml, loadTest.ts e schema.ts precisam ser atualizados.
Verificar a possibilidade de inserir o compose no ci, ou aumentar a cobertura para evitar essa falha no futuro.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/100Ordenação de visões parciais falha2018-12-13T11:50:53ZLucas Fernandes de OliveiraOrdenação de visões parciais falhaFoi detectada em uma consulta que as visões podem aparecer "desordenadas", ou seja, as visões necerrárias ainda não foram definidas.
Esse problema parece resolvivel utilizando ordenação topológica.
Verificar se existe uma forma mais sim...Foi detectada em uma consulta que as visões podem aparecer "desordenadas", ou seja, as visões necerrárias ainda não foram definidas.
Esse problema parece resolvivel utilizando ordenação topológica.
Verificar se existe uma forma mais simples de resolver o problema.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/98Variavel de ambiente com nome deve ser inicializada2019-01-24T10:24:29ZLucas Fernandes de OliveiraVariavel de ambiente com nome deve ser inicializadaQuando a variavel de ambiente **BLENDB_SCHEMA_FILE** não está presente no arquivo de configuração, o Blend trava, com o erro ao abrir o arquivo. A variavel deve ser corretamente inicializadas e o erro deve ser indicado propriamente, avis...Quando a variavel de ambiente **BLENDB_SCHEMA_FILE** não está presente no arquivo de configuração, o Blend trava, com o erro ao abrir o arquivo. A variavel deve ser corretamente inicializadas e o erro deve ser indicado propriamente, avisando que a variavel não foi colocada corretamente no arquivo de configuração1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/96Arrumar documentação da classe adapter2019-02-11T10:50:59ZLucas Fernandes de OliveiraArrumar documentação da classe adapterNa classe adapter no método insertIntoSource, o atributo data não foi documentado.
Verificar se o erro se repete nas classes filhas.Na classe adapter no método insertIntoSource, o atributo data não foi documentado.
Verificar se o erro se repete nas classes filhas.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/94Otimizar algoritmo de junção de visões2019-01-10T11:07:07ZLucas Fernandes de OliveiraOtimizar algoritmo de junção de visõesO código atual de junção de visões primeiramente verifica quais são as visões mais similares e as junta 2 a duas. O problema que encontrar a similaridade de duas visões é de tempo quadrático. Entretanto não é necessário juntar as tabelas...O código atual de junção de visões primeiramente verifica quais são as visões mais similares e as junta 2 a duas. O problema que encontrar a similaridade de duas visões é de tempo quadrático. Entretanto não é necessário juntar as tabelas mais similares, ``todas'' podem ser juntadas.
Esse código já foi feito no branch ICDE2019 experiments.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/93Habilitar uso nome de tabelas ao invés de hash2019-01-10T11:07:07ZLucas Fernandes de OliveiraHabilitar uso nome de tabelas ao invés de hashO "nome" de uma visão no Blendb é determinado por suas métricas, dimensões e filtros aplicados. Com essas informações uma função de hash é aplicada gerando um nome.
Criar uma opção, para cada view, que permite utilizar o **alias**, ou u...O "nome" de uma visão no Blendb é determinado por suas métricas, dimensões e filtros aplicados. Com essas informações uma função de hash é aplicada gerando um nome.
Criar uma opção, para cada view, que permite utilizar o **alias**, ou um outro atributo a ser definido, como nome ao invés do hash gerado. Dessa forma para que o blendb seja compátivel com os outros bancos, não é necessário a criação de uma visão com o nome de uma hash, basta utilizar o próprio nome.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/92Revisar tests2019-01-11T10:35:34ZLucas Fernandes de OliveiraRevisar testsFazer uma analise mais precisa dos testes automáticos. Após a *issue*#88 ter sido aceita, deve averiguar o que não está coverto e se é factivel cobrir esses casos.Fazer uma analise mais precisa dos testes automáticos. Após a *issue*#88 ter sido aceita, deve averiguar o que não está coverto e se é factivel cobrir esses casos.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/91Modificação do contrutor da Engine2019-01-10T11:07:08ZLucas Fernandes de OliveiraModificação do contrutor da EngineVerificar a viabilidade da substituição do contrutor da classe Engine.
O contrutor dessa calsse inicia uma estrutura vazia, que deve ser incrementada utilizando outras funcções como addView, addMetric, ..., etc.
Verificar se é possível...Verificar a viabilidade da substituição do contrutor da classe Engine.
O contrutor dessa calsse inicia uma estrutura vazia, que deve ser incrementada utilizando outras funcções como addView, addMetric, ..., etc.
Verificar se é possível que o contrutor recebe um objeto do tipo ParseConfig e realize a construção do objeto. As funções addAlgumaCoisa podem ser colocadas como privadas.
Verificar se é possível realizar essa alteração, e se for possível realizar.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/90Mudar a interface Query para uma Classe2019-01-10T11:07:07ZLucas Fernandes de OliveiraMudar a interface Query para uma ClasseHoje um elemento importante do BlenDB, a *query*, é uma interface e não uma classe. Essa escolha foi feita pois não existiu até o momento a necessidade da *query* possuir métodos. Entretanto, como efeito colateral a *query* não possui um...Hoje um elemento importante do BlenDB, a *query*, é uma interface e não uma classe. Essa escolha foi feita pois não existiu até o momento a necessidade da *query* possuir métodos. Entretanto, como efeito colateral a *query* não possui um construtor. Como essa interface possui parametros opicionais, em diversos locais é necessário verificar se esses parametros opicionais estão preenchidos, ou não, se prenche-los com valores **default**.
Esse preenchimento poderia ser feito no construtor da classe, evitando a validação em diversos pontos do código.
## Objetivo
* Mudar a interface *query* para uma classe
* Criar um método contrutor, para preencher os valores opcionais
* A interface *query* se transforma em *queryOpts* que são as opções para criar uma query.
* Verificar onde existe validação dos valores da query e remove-las1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/89Opção de demonstração para o container docker2019-01-10T11:07:08ZLucas Fernandes de OliveiraOpção de demonstração para o container dockerAtualmente o container docker do Blendb permite a execução do mesmo para um banco de dados dado.
Adicionar uma opção de demonstração, onde ao invés de executar sobre o banco dado, um banco de demonstração, criado na tarefa #75 é utiliza...Atualmente o container docker do Blendb permite a execução do mesmo para um banco de dados dado.
Adicionar uma opção de demonstração, onde ao invés de executar sobre o banco dado, um banco de demonstração, criado na tarefa #75 é utilizado, permitindo que um usuáriio interessado teste, use e brinque com a ferramenta sem possuir dados necessariamente.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/88Migrar testes para novo banco de dados de teste2019-01-10T11:07:08ZLucas Fernandes de OliveiraMigrar testes para novo banco de dados de testeAtualmente o banco de dados de teste não possui significado, atributos como **dim:1** **met:1** estão presentes mas não agregam nenhum significado. Transferir os testes para um banco de dados de teste onde os nomes dos atributos e as rel...Atualmente o banco de dados de teste não possui significado, atributos como **dim:1** **met:1** estão presentes mas não agregam nenhum significado. Transferir os testes para um banco de dados de teste onde os nomes dos atributos e as relações entre eles, e entre as tabelas faz mais sentido.
O banco de dados deve ser um cenário "real", onde o Blendb pode ser aplicado.
A principio os testes, com isso é a semântica de um teste, não precisa ser mudada, por exemplo o teste **Consulta com mais de uma métrica** ainda deve existir, mas ao invés de testar uma consulta com as métricas 1,2 e 3 pode-se testar com média, pico e total de tráfego de rede.
O principal objetivo é manter a cobertura, mesmo com o banco novo.
Acredita-se que a maioria dos testes será mantida, mas pode ocorrer de alguns testes serem considerados desnecessário e outros novos surgirem. Afinal diversos testes são afetados pela estrutura do banco de dados.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/86Adicionar variavel de ambiente para ler arquivo de configuração2019-01-10T11:07:08ZLucas Fernandes de OliveiraAdicionar variavel de ambiente para ler arquivo de configuraçãoAtualmente o arquivo de configuração é fixo: Para execução é o arquivo **config.yaml** e para testes **test.yaml**.
Adicionar uma variável de ambiente **BLENDB_SCHEMA_FILE** que contém o caminho para o arquivo yaml. Utilizar essa variáv...Atualmente o arquivo de configuração é fixo: Para execução é o arquivo **config.yaml** e para testes **test.yaml**.
Adicionar uma variável de ambiente **BLENDB_SCHEMA_FILE** que contém o caminho para o arquivo yaml. Utilizar essa variável ao invés dos caminhos fixos.
Observar efeitos sobre caminhos relativos.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/84Utilização da ferramenta Typedoc2018-05-24T14:35:52ZLucas Fernandes de OliveiraUtilização da ferramenta Typedoc[Typedoc](https://github.com/TypeStrong/typedoc) é um gerador de documentação de código Typescript.
Atualmente o código é parcialmente documentado utilizando a Wiki do Gitlab. O principal problema dessa abordagem é que o processo não é ...[Typedoc](https://github.com/TypeStrong/typedoc) é um gerador de documentação de código Typescript.
Atualmente o código é parcialmente documentado utilizando a Wiki do Gitlab. O principal problema dessa abordagem é que o processo não é integrado e não é versionado. Utilizando essa ferramenta cada uma dos branchs poderia ser documentado separadamente e não é necessária a utilização de uma ferramenta externa, basta modificar o próprio código (através da inserção de comentários)1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/83Correção dos testes de Fonte2018-06-11T12:42:15ZLucas Fernandes de OliveiraCorreção dos testes de FontePara testar as fontes é utilizada a classe **Fixture** que carrega os dados nos bancos de dados.
Por falta de um **runner** do gitlab-ci que contenha o monetdb, durante o processo de integração continua testes nesse banco de dados não s...Para testar as fontes é utilizada a classe **Fixture** que carrega os dados nos bancos de dados.
Por falta de um **runner** do gitlab-ci que contenha o monetdb, durante o processo de integração continua testes nesse banco de dados não são utilizados. Entretanto esses testes podem ser executados localmente. Ao se executar os testes localmente para o MonetDB os testes falham pois não foram escritos métodos para tratamento de fontes na classe **Fixture** do Monetdb.
Além disso alguns métodos utilizados pela **Fixture** no PostgreSQL não seguem os padrões de nome. Exemplos são **LoadSource** e **ExtractData**. Nomes de métodos sempre devem começar com a letra minúscula.
* Corrigir a **Fixture** para Monetdb, permitindo realizar testes autométicos nesse banco
* Corrigir a **Fixtures** para PostgreSQL, colocando os métodos no padrão de nome1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/82Campo opcicional para Enumtype2018-08-07T13:50:42ZLucas Fernandes de OliveiraCampo opcicional para EnumtypeQuando uma dimensão ou campo de uma fonte possui tipo como tipo enumeravel, a exibir essas informações como string (quando são retornadas pelas rotas) o valor do **enumtype** sobrescreve o **dataType**. Seria mellhor que o datatype fosse...Quando uma dimensão ou campo de uma fonte possui tipo como tipo enumeravel, a exibir essas informações como string (quando são retornadas pelas rotas) o valor do **enumtype** sobrescreve o **dataType**. Seria mellhor que o datatype fosse marcado como **enum** e uma nova chave **enumtype** que seria opcional recebesse o valor do **enumtype**.
Essa mudança se deve a maior facilidade para geração de interfaces automáticas.
Além disso, se essa mesma lógica for aplicada ao arquivo de configuração a sua leitura deve ser mais simples.1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/81Corrigir erros de ortografia em mensagens de erro2018-07-09T11:40:24ZLucas Fernandes de OliveiraCorrigir erros de ortografia em mensagens de erroA seguinte mensagem de erro é detectada no arquivo ```src/api/collect/collect.spec.ts```
Could not construct query with the paramters given."
Corrigir para
**Could not construct query with the given parameters.**A seguinte mensagem de erro é detectada no arquivo ```src/api/collect/collect.spec.ts```
Could not construct query with the paramters given."
Corrigir para
**Could not construct query with the given parameters.**1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/80Centralizar parsers para enums2018-07-31T14:27:01ZLucas Fernandes de OliveiraCentralizar parsers para enumsAtulamente as funções que traduzem strings para Enums e vice-versa espalhadas em diversas classes, as que tem maior necessidade de utilizar essas funções, porém isso se torna incoveniente se mais de uma classe precisa do parser.
Criar u...Atulamente as funções que traduzem strings para Enums e vice-versa espalhadas em diversas classes, as que tem maior necessidade de utilizar essas funções, porém isso se torna incoveniente se mais de uma classe precisa do parser.
Criar um arquivo no diretório **utils** chamado **enumHandler** que deve contém métodos estáticos para manipulação dos enums1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/79Criar Views (materializadas) quando não existem2018-06-06T12:04:37ZLucas Fernandes de OliveiraCriar Views (materializadas) quando não existemAtualmente existe uma variável **BLENDB_ST_CREATE** que quando é verdadeira cria as tabelas de teste e quando é falsa apenas trunca.
Remover essa váriavel e em caso de teste criar as tabelas que não existem ao invés de falhar a execuçãoAtualmente existe uma variável **BLENDB_ST_CREATE** que quando é verdadeira cria as tabelas de teste e quando é falsa apenas trunca.
Remover essa váriavel e em caso de teste criar as tabelas que não existem ao invés de falhar a execução1.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/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 Dias