Re: Is this a bug ?
От | Ron |
---|---|
Тема | Re: Is this a bug ? |
Дата | |
Msg-id | 0e1c9266-80fa-c879-ef10-c585e93e0ae5@gmail.com обсуждение исходный текст |
Ответ на | Is this a bug ? (Ravi Krishna <sr_krishna@aol.com>) |
Список | pgsql-general |
On 10/23/19 10:42 AM, Ravi Krishna wrote: > We noticed this bug in Redshift. It then occurred to me that this may > very well be a PG bug since Redshift is based on PG. > > Reproduced it in Version 11.5 > > create table bugtest (fld1 char(1)) ; > > insert into bugtest values('a'); > insert into bugtest values('b'); > insert into bugtest values('c'); > insert into bugtest values('d'); > insert into bugtest values('e'); > > select count(*) from bugtest where fld1 in ('a','b','c', > 'd','e'); -> produces 5 as output. > So far so good. > > Now check this: > > select count(*) from bugtest where fld1 in ('a','b','c' > 'd','e'); > > Note the missing comma after 'c'. > > PG takes it a syntactically right SQL and gives 3 as output. > > In SQLServer it errors out SQL Error [102] [S0001]: Incorrect syntax near 'd'. > > Can't believe this bug was never found before. We ended up wasting lot of time to figure this out. Confirmed in 9.6. postgres@haggis:~$ psql psql (9.6.15) Type "help" for help. postgres=# create table bugtest (fld1 char(1)) ; CREATE TABLE postgres=# postgres=# insert into bugtest values('a'); INSERT 0 1 postgres=# insert into bugtest values('b'); INSERT 0 1 postgres=# insert into bugtest values('c'); INSERT 0 1 postgres=# insert into bugtest values('d'); INSERT 0 1 postgres=# insert into bugtest values('e'); INSERT 0 1 postgres=# select count(*) from bugtest where fld1 in ('a','b','c', postgres(# 'd','e'); count ------- 5 (1 row) postgres=# select count(*) from bugtest where fld1 in ('a','b','c' postgres(# 'd','e'); count ------- 3 (1 row) -- Angular momentum makes the world go 'round.
В списке pgsql-general по дате отправления: