Skip to content

Equipe 9 - Correção Bug Projeção e Create Table Com Quebra de Linha Validação Ao Final#14

Open
oduardu wants to merge 4 commits intoduartedenio:24_2from
oduardu:24_2
Open

Equipe 9 - Correção Bug Projeção e Create Table Com Quebra de Linha Validação Ao Final#14
oduardu wants to merge 4 commits intoduartedenio:24_2from
oduardu:24_2

Conversation

@oduardu
Copy link

@oduardu oduardu commented Dec 7, 2024

1° BUG: Se a lista de atributos na projeção não está na ordem da criação na tabela, os valores ficam trocados

  1. Refatoração da Função printConsulta:
  • Alterada a assinatura para aceitar listas separadas para projeção e dados, permitindo maior flexibilidade e organização.
  • Ajustado o loop de impressão para considerar as colunas de projeção, garantindo que a ordem correta seja respeitada.
  1. Melhoria na Verificação de Projeção:
  • Adicionado um mecanismo para verificar se todas as colunas solicitadas na projeção estão presentes na tabela base.
  • Implementada uma mensagem de erro específica (ERROR: Column '%s' not found in table.) quando uma coluna na projeção não existe, interrompendo o processamento.
  1. Correção de Bugs:
  • Resolvido problema em que a ordem incorreta das colunas na projeção resultava em valores trocados durante a exibição.
  • Evitada adição de tuplas incompletas ao resultado final caso a projeção fosse inválida.

2° BUG: Não permite continuar digitando quando encontra um erro ao quebrar linha (digitar comando multiplas linhas)

  1. Adição de variável em type.h

    • Foi adicionada uma variável global char error[256] ao parser, permitindo definir uma mensagem de erro sem interromper o sistema. Essa variável pode ser utilizada para armazenar mensagens de erro durante o processo de parsing.
  2. Criação da função addError()

    • A função addError() foi implementada para atribuir a string de erro à variável error criada anteriormente, centralizando o tratamento de erros de forma eficiente e controlada.
  3. Ajustes no arquivo YACC.c

    • O arquivo YACC.c foi ajustado para, ao validar a criação da tabela, verificar o conteúdo da variável error. Se a variável não estiver vazia, o erro contido será impresso na tela e a criação da tabela será cancelada, evitando a execução de operações inválidas.
    • Modificado o parser para que, ao invés de receber apenas um único atributo (attribute), ele possa receber uma lista de atributos, permitindo que essa lista seja vazia, o que indicará um erro de sintaxe.
    • Foi adicionada uma regra de validação para atributos, permitindo que eles aceitem valores além de primary key e reference. Agora, também podem aceitar valores vazios ou objetos. Caso seja recebido um objeto, isso indica que o atributo não existe, o que resulta na adição de uma mensagem de erro, "Atributo inválido".

@oduardu oduardu changed the title Erro de Projeção: Ordem dos Atributos na Consulta Difere da Ordem na Tabela, Resultando em Valores Inconsistentes Equipe 9 - Correção Bug Projeção e Create Table Com Quebra de Linha Validação Ao Final Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant