PayasR / paralite

0 stars 0 forks source link

only support Equi-Join #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Issuing queries with other types of JOIN other than Equi-Join.
E.g.

1, Outer Join:

  a, Left Outer Join
  paralite test.db "select * from A left outer join B"

  b, Right Outer Join
  paralite test.db "select * from A right outer join B"

2, Nature Join with operators other than "=":
  paralite test.db "select x.a, y.b from A join B on A.a < B.a and A.b >     B.b"

3, Corss Join
  paralite test.db "select * from a cross join b"

What is the expected output? What do you see instead?

Right records should be outputted. Instead I see that "ERROR: ParaLite cannot 
support this query with JOIN operations other than Equi-JOIN"

Please use labels and text to provide additional information.

Original issue reported on code.google.com by tingchen...@gmail.com on 9 May 2013 at 11:10

GoogleCodeExporter commented 9 years ago
To solve this problem:
(1) recreate the logical plan: m_paraLite.py:LogicalPlanMaker().make()
For other types of JOIN other than Equi-Join, no matter the table partitioning 
key is the join key or not, the join operation should not be pushed to SQLite.
(2) change the way data is distributed: each Operator execution file, e.g. 
sql.py, join.py...
For Equi-Join, ParaLite always hash partitions source data which is not right 
for other joins.
(3) change the way data is joined on each node: join.py:JoinOp().join()
Current ParaLite uses hash-join for Equi-join. For other types of join, the 
processing logic should be changed. 

Original comment by tingchen...@gmail.com on 9 May 2013 at 11:19

GoogleCodeExporter commented 9 years ago
".schema" is supported now.

paralite anydatabase "create table x(a integer, b text)"
paraltie anydatabase ".schema" 
CREATE TABLE x(a integer, b text)

will be shown.

Original comment by ntbao2...@gmail.com on 17 Jun 2013 at 9:31

GoogleCodeExporter commented 9 years ago

Original comment by ntbao2...@gmail.com on 17 Jun 2013 at 9:34