a8m / a8m/rql

rql_test failes statistically

Aberta
#35 3 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Go
Estrelas
367
Forks
43
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

When running rql_test sometimes the `split` function gets stuck and gets to a point of out of memory.
After a lot of debugging i found out that the way the `equalExp` function implemented is wrong.

The check
```go
if s1[i][0] == '(' && s2[j][0] == '(' {
found = equalExp(s1[i][1:len(s1[i])-1], s2[j][1:len(s2[j])-1])
}
```

is wrong because if we get `(` at the start we are removing the end of the string, not the next `)` found which is the problem
there is a corruption of data `(a = b AND c = d) OR (a = c AND (c = d OR d = f))` will be `a = b AND c = d) OR (a = c AND (c = d OR d = f)`

The problem starts here and get to the `split` function which is not validating the given data and not breaking out of the `while` loop after it failes at the start with finding `)`

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.