blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2018-04-04T13:11:37Zhttps://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/74Permitir leitura de dimensões de forma desordenada2018-04-05T12:10:35ZLucas Fernandes de OliveiraPermitir leitura de dimensões de forma desordenadaSe uma dimensão filha é colocada no arquivo de configuração antes de pai, a leitura da configuração falha. Esse problema pode ser corrigido utilizando ordenação topológica nas dimensões.Se uma dimensão filha é colocada no arquivo de configuração antes de pai, a leitura da configuração falha. Esse problema pode ser corrigido utilizando ordenação topológica nas dimensões.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://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/61Adicionar rota de fontes a API2018-04-26T12:51:59ZLucas Fernandes de OliveiraAdicionar rota de fontes a APIEssa rota deve listar as fontes existentes:
* [x] Criar classe Source/ SourceField -- ```src/core/source.ts```
* [x] Ler Fontes a partir do arquivo de configuração -- ```src/util/configParser.ts```
* [x] Adicionar as fontes lidas a En...Essa rota deve listar as fontes existentes:
* [x] Criar classe Source/ SourceField -- ```src/core/source.ts```
* [x] Ler Fontes a partir do arquivo de configuração -- ```src/util/configParser.ts```
* [x] Adicionar as fontes 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```
Atributos da fonte:
nome
campos[]
Atributos de campo
nome
tipo de dados1.0Rafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/62Realizar inserção 1 por 1 em fontes de dados2018-05-02T13:27:09ZLucas Fernandes de OliveiraRealizar inserção 1 por 1 em fontes de dadosFazer com que a rota de coleta realmente insira os dados nas fontes.
* [x] Alterar o arquivo da rota -- ```src/api/constrollers/collect.ts```
* [x] Tradução de objeto para consulta
Passo a Passo de tradução:
* Na camada de API realiz...Fazer com que a rota de coleta realmente insira os dados nas fontes.
* [x] Alterar o arquivo da rota -- ```src/api/constrollers/collect.ts```
* [x] Tradução de objeto para consulta
Passo a Passo de tradução:
* Na camada de API realizar a validação dos dados
* Isso incluí verificar se a fonte existe
* Depois verificar se os campos do JSON de entrada fazem parte da fonte
* Validar os tipos de dados do json em relação as fontes
* Uma vez os dados validados chamar a função de inserção do adapter
* Na camada de Adapter
* Criar uma função que recebe dois parametros, uma fonte e os dados (sincrona, privada/protegida)
* Essa função deve gerar uma consulta de inserção para o banco de dados em questão
* Criar uma função que executa a consulta no banco de dados (asincrona, publica)
* Essa função será chamada pela API
Lembretes:
* A classe abstrata de Adapter deve receber essa função pública
* Cada um dos adapters pode ter uma implementação diferente da função pública, entretanto a função privada/protegiada provavelmente pode ser aproveitada nos adaptadores sql1.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/66Redefinir algoritmo de junção2018-05-16T13:40:51ZLucas Fernandes de OliveiraRedefinir algoritmo de junçãoO algoritmo de junção possui uma regra: Quando agregações de granularidade diferentes são unidas, não é possível agregagar. Essa regra atrapalha alguns casos onde a ordem das junções afeta o resultado final. Buscar uma solução. Possíveis...O algoritmo de junção possui uma regra: Quando agregações de granularidade diferentes são unidas, não é possível agregagar. Essa regra atrapalha alguns casos onde a ordem das junções afeta o resultado final. Buscar uma solução. Possíveis soluções incluir utilizar dependência funcional e salvar esse tipo de informação na agregação ou dimensão.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://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 Oliveirahttps://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/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/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/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/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/71Permitir links em arquivos de configuração para views e sources2018-08-13T13:25:41ZLucas Fernandes de OliveiraPermitir links em arquivos de configuração para views e sourcesOs objetos *views* e *sources* são os mais complexos (os que podem possuir mais propriedades) e tornam o arquivo de configuração grande e ilegivel. Permitir que eles recebam um link para outro arquivo ao invés da definição da estrutura. ...Os objetos *views* e *sources* são os mais complexos (os que podem possuir mais propriedades) e tornam o arquivo de configuração grande e ilegivel. Permitir que eles recebam um link para outro arquivo ao invés da definição da estrutura. Assim pode-se definir cada um desses componentes em arquivos separados.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 Oliveira