Re: BUG #17109: Fail to evaluate boolean expression properly
От | Domingo Alvarez Duarte |
---|---|
Тема | Re: BUG #17109: Fail to evaluate boolean expression properly |
Дата | |
Msg-id | a65d2164-0ca3-77a3-d021-62be7b5f764f@gmail.com обсуждение исходный текст |
Ответ на | BUG #17109: Fail to evaluate boolean expression properly (PG Bug reporting form <noreply@postgresql.org>) |
Список | pgsql-bugs |
Looking again at https://extendsclass.com/postgresql-online.html and liasing/naming the columns it produces the expected result, so it's a problem on their website. Sorry by the noise, this issue can be closed. ==== select /*NOT*/ 1 BETWEEN -2 and 2 as col1, NOT (1 BETWEEN -2 and 2) as col2, (/*NOT*/ 1) BETWEEN -2 and 2 as col3 ==== Output: ==== col1 col2 col3 true false true ==== 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 по дате отправления: