Contexto
Ao criar um comando SQL no Latromi, é possível utilizar um recurso da plataforma que realiza um pré-processamento do SQL, reduzindo a necessidade de utilizar estruturas como CASE WHEN ao trabalhar com as marcações do sistema. (mais informações)
No entanto, foi identificado que, ao adicionar uma pré-condição mal formatada e tentar gravar o objeto, ocorre o disparo de um erro não tratado, que acaba resultando no encerramento do processo.
Exemplo de pré-condição que pode gerar o problema:
--#IF{PARAM.id}
where 1 = 1
--#END IF
Nesse cenário, a inconsistência na marcação da pré-condição faz com que o mecanismo de pré-processamento não consiga interpretar corretamente o comando, ocasionando a falha durante a gravação do objeto.
Como Simular
Para simular esse erro é necessário adicionar um ação para executar um comando SQL em um formulário, após isso:
- Adicione o seguinte comando SQL:
select 1 as meuerro
--#IF{PARAM.id}
where 1 = 1
--#END IF
- Salve o objeto.
Solução
Como sugestão de ajuste, recomenda-se revisar a sessão de interpretação do Latromi e adicionar ou atualizar a expressão regular (REGEX) responsável por identificar pré-condições mal formatadas.
Ao detectar esse cenário, o sistema deve informar claramente ao usuário sobre a má formatação da pré-condição, evitando o encerramento inesperado do processo e permitindo a correção antes da gravação do objeto.