Marco Jorge created CALCITE-4667:
------------------------------------

             Summary: INNER join returns empty set
                 Key: CALCITE-4667
                 URL: https://issues.apache.org/jira/browse/CALCITE-4667
             Project: Calcite
          Issue Type: Bug
            Reporter: Marco Jorge


I'm trying to figure out why an INNER join would return an empty set, and I 
couldn't find a justification so maybe I found a bug (or if not, please point 
me in the right direction).

I have these 2 tables;
{code:java}
0: jdbc:calcite:model=src/test/resources/mode> select "AccountOwner_Name", 
"AccountName" from "zoho"."Accounts";
+-------------------+---------------------------------+
| AccountOwner_Name |           AccountName           |
+-------------------+---------------------------------+
| Marco Jorge       | King (Sample)                   |
| Marco Jorge       | Truhlar And Truhlar (Sample)    |
| Marco Jorge       | Commercial Press (Sample)       |
| Marco Jorge       | Morlong Associates (Sample)     |
| Marco Jorge       | Chapman (Sample)                |
| Marco Jorge       | Printing Dimensions (Sample)    |
| Marco Jorge       | Feltz Printing Service (Sample) |
| Marco Jorge       | Chemel (Sample)                 |
| Marco Jorge       | Chanay (Sample)                 |
| Marco Jorge       | Benton (Sample)                 |
+-------------------+---------------------------------+
10 rows selected (0.213 seconds)
0: jdbc:calcite:model=src/test/resources/mode> select * from 
"postgres"."employee";
+----+-------------+
| id |    name     |
+----+-------------+
| 1  | marco       |
| 2  | bernardes   |
| 3  | jorge       |
| 4  | Marco Jorge |
+----+-------------+
4 rows selected (0.055 seconds)
{code}
When I perform a INNER join no results are returned:
{code:java}
0: jdbc:calcite:model=src/test/resources/mode> select "AccountOwner_Name", 
"AccountName", E.* from "zoho"."Accounts" A, "postgres"."employee" E where 
E."name"=A."AccountOwner_Name";
+-------------------+-------------+----+------+
| AccountOwner_Name | AccountName | id | name |
+-------------------+-------------+----+------+
No rows selected (3.629 seconds)
{code}
The explain plan is:
{code:java}
0: jdbc:calcite:model=src/test/resources/mode> explain plan for select 
"AccountOwner_Name", "AccountName", E.* from "zoho"."Accounts" A, 
"postgres"."employee" E where A."AccountOwner_Name"=E."name";
PLAN  EnumerableCalc(expr#0..4=[{inputs}], proj#0..3=[{exprs}])
  EnumerableMergeJoin(condition=[=($0, $4)], joinType=[inner])
    JdbcToEnumerableConverter
      JdbcSort(sort0=[$0], dir0=[ASC])
        JdbcProject(AccountOwner_Name=[$2], AccountName=[$4])
          JdbcTableScan(table=[[zoho, Accounts]])
    JdbcToEnumerableConverter
      JdbcSort(sort0=[$2], dir0=[ASC])
        JdbcProject(id=[$0], name=[$1], name0=[CAST($1):VARCHAR(2000)])
          JdbcTableScan(table=[[postgres, employee]])
{code}
Any hints for me?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to