9DemonFox

Results 15 comments of 9DemonFox

``` PhysicFilter (actual rows=0) Output: a.a1[0] Filter: a.a1[0]=bo.b1[1] -> PhysicSingleJoin Left (actual rows=0) Output: a.a1[0],bo.b1[2] Filter: b.b2[3]=a.a1[0]*2 -> PhysicScanTable a (actual rows=0) Output: a.a1[0],#a.a2[1] -> PhysicFilter (actual rows=0) Output: bo.b1[0],b.b2[1]...

``` select a1 from a where a.a1 = (select b1 from b bo where b2 = a2 or b1 = (select b1 from b where b2 = 2*a1 and b3>1)...

``` PhysicFilter (actual rows=1) Output: a.a1[0] Filter: a.a1[0]=bo.b1[1] -> PhysicSingleJoin Left (actual rows=3) Output: a.a1[0],bo.b1[2] Filter: b.b2[3]=a.a1[0]*2 -> PhysicScanTable a (actual rows=3) Output: a.a1[0],#a.a2[1] -> PhysicFilter (actual rows=4, loops=3) Output:...

if we leave the filter inside the **SingleJoin**, as the OrExpr can not know value of bo.b2[2]=?a.a2[1], so it will also produce more lines like marker join, i.e. (bo.b2[2]=?a.a2[1] or...

![image](https://user-images.githubusercontent.com/37564807/100305704-92f87880-2fdc-11eb-8157-3451351ac054.png) hyperDB seems to has a complex plan to handle it. ``` select n_name from nation where nation.n_regionkey = (select region_o.r_regionkey from region region_o where region_o.r_name = nation.n_name or region_o.r_regionkey...

When a markjoin deprived from IN clause, it can't be seen as a semi join, because there might be a "null".

More precisely, **EXIST**, **IN** should use SEMI JOIN, but **NOT IN** is not SEMI JOIN. Understanding this , the work to simplefy markjoin can work on.

#263 , they might have the same cause. The FROM clause in TPCH is not handled correctly. I am working to check it.

> @zhouruiapple do you want to take a look. Without this, we may not able to run tpch very correctly. I test the subquery in those sql(tpch) containing date, and...

@zhouqingqing But this test case I don't understand. ``` public void HopWindow() { var phyplan = ""; var sql = "select count(*) from ast group by hop(a0, interval '5' second,...