Re: psql12.3 + jdbc_fdw - return wrong query results by using OR - Mailing list pgsql-general

From Adrian Klaver
Subject Re: psql12.3 + jdbc_fdw - return wrong query results by using OR
Date
Msg-id 625d4581-6b92-6368-f1a2-eedf4f6c890a@aklaver.com
Whole thread Raw
In response to psql12.3 + jdbc_fdw - return wrong query results by using OR  (emilu@encs.concordia.ca)
List pgsql-general
On 5/28/20 8:39 AM, emilu@encs.concordia.ca wrote:
> Hello,
> 
> psql12.3 + jdbc_fdw(oracle18.x), tried:
> 
> [1]
> select count(*)
> from oracle_t1 as a
> inner join local_t1 as b
> on (a.c1 = b.c1);
> 
> return 100 records
> 
> [2]
> select count(*)
> from oracle_t1 as a
> inner join local_t1 as b
> on (a.c1 = b.c1
>      OR
>      a.c2 = b.c1
>     );
> 
> return only 2 records
> 
> (no null values in both tables.)
> 
> May I know what may cause the error please?

I'm guessing you are seeing this:

https://www.postgresql.org/docs/12/sql-expressions.html

4.2.14. Expression Evaluation Rules

". Boolean expressions (AND/OR/NOT combinations) in those clauses can be 
reorganized in any manner allowed by the laws of Boolean algebra."

It would help to see the EXPLAIN ANALYZE for the queries above.

> 
> Thanks a lot.
> 
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: emilu@encs.concordia.ca
Date:
Subject: psql12.3 + jdbc_fdw - return wrong query results by using OR
Next
From: Adrian Klaver
Date:
Subject: Re: psql12.3 + jdbc_fdw - return wrong query results by using OR