Re: Too many duplicated condition query return wrong value - Mailing list pgsql-hackers

From Jeff Janes
Subject Re: Too many duplicated condition query return wrong value
Date
Msg-id CAMkU=1xLoFBiTa8Hw2Jz6grzLGxC9vdvogpHbHKUtjAoPOPgLA@mail.gmail.com
Whole thread Raw
In response to Too many duplicated condition query return wrong value  (Atsushi Yoshida <rudeboyjet@gmail.com>)
Responses Re: Too many duplicated condition query return wrong value
List pgsql-hackers


On Thu, Sep 3, 2015 at 5:14 AM, Atsushi Yoshida <rudeboyjet@gmail.com> wrote:
Hi.

I cought a strange result.
I execute such query.

> SELECT "attend"."lid", "attend"."status" FROM "attend" WHERE "attend"."sid" = 325 AND "attend"."lid" IN ('ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 'ABF0010', 
... 
'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060', 'ABF0060');




it return

>    lid   | status
> ---------+--------
>  ABF0050 |      9
>  ABF0040 |      9
>  ABF0020 |      9
>  ABF0010 |      9
>  ABF0060 |      9
> (5 rows)

This IN condition to be unique and execute it like this.

> arcvideo=> SELECT "attend"."lid", "attend"."status" FROM "attend" WHERE "attend"."sid" = 325 AND "attend"."lid" IN ('ABF0010', 'ABF0020', 'ABF0030', 'ABF0040', 'ABF0050', 'ABF0060’);

It return

>    lid   | status
> ---------+--------
>  ABF0010 |      9
>  ABF0020 |      9
>  ABF0030 |      9
>  ABF0040 |      9
>  ABF0050 |      9
>  ABF0060 |      9
> (6 rows)

First query and second query are same meaning I think, but the result is different.

Can you give an "explain (analyze, buffers)"  for each query?  Maybe you have a corrupted index, and one query uses the index and the other does not.

Cheers,

Jeff

pgsql-hackers by date:

Previous
From: Fabrízio de Royes Mello
Date:
Subject: Re: Can pg_dump make use of CURRENT/SESSION_USER
Next
From: Robert Haas
Date:
Subject: Re: Proposal: Implement failover on libpq connect level.