Parallel UDR in a join

The following sample query contains a join between table t1 and t2:
SELECT t1.x, t2.y
   FROM t1, t2
   where t1.x = t2.y and
      c_udr(t1.z, t2.z, 3) > 5 and
      c_udr1(t1.u) > 4 and 
      c_udr2(t2.u) < 5;
If the tables t1 and t2 have multiple fragments and the optimizer decides to run the select statement in parallel, the following operations can execute in parallel:
  • The scan of table t1 is performed by multiple scan threads in parallel. Each scan thread fetches a row from a fragment of t1 and executes the UDR c_udr1() in parallel.
  • The scan of table t2 is performed by multiple scan threads in parallel. Each scan thread fetches a row from a fragment of t2 and executes the UDR c_udr2() in parallel.
  • The join of tables t1 and t2 is performed by multiple join threads in parallel. Each join thread fetches a row from a fragment of t2 and executes the UDR c_udr() in parallel.