Re: BUG #17109: Fail to evaluate boolean expression properly
| От | Domingo Alvarez Duarte |
|---|---|
| Тема | Re: BUG #17109: Fail to evaluate boolean expression properly |
| Дата | |
| Msg-id | 88595360-64b9-1a34-743e-d505dffee030@gmail.com обсуждение исходный текст |
| Список | pgsql-bugs |
It seems that I fired the trigger to early, although the output of that website (https://extendsclass.com/postgresql-online.html) does shows wrong result when executing the query on other places with different PostgreSQL version the output is the expected one: psql template1 psql (13.3) Type "help" for help. template1=# select /*NOT*/ 1 BETWEEN -2 and 2, NOT (1 BETWEEN -2 and 2), (/*NOT*/ 1) BETWEEN -2 and 2 template1-# ; ?column? | ?column? | ?column? ----------+----------+---------- t | f | t (1 row) On 15/7/21 11:38, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 17109 > Logged by: Domingo Alvarez Duarte > Email address: mingodad@gmail.com > PostgreSQL version: 11.10 > Operating system: Online at https://extendsclass.com/postgresql-onli > Description: > > When proposing a change to > https://github.com/facebookincubator/CG-SQL/pull/62 people there found > several problems on their project and one of the related to how > parse/evaluate expressions around "BETWEEN" keyword and they created a > simple test case to check it (adapted by me): > > ==== > select /*NOT*/ 1 BETWEEN -2 and 2, NOT (1 BETWEEN -2 and 2), (/*NOT*/ 1) > BETWEEN -2 and 2 > ==== > > Here is the output of PostgreSQL where the second column is not negated (if > column 1 expression is true then "NOT" that expression should return false > ): > ==== > ?column? | ?column? | ?column? > -- | -- | -- > true | true | true > ==== > > Here is the output of sqlite3: > ==== > sqlite3 < "test-between.sql" > 1|0|1 > ==== >
В списке pgsql-bugs по дате отправления: