Parallel UDR with GROUP BY

The following sample query contains a GROUP BY clause. This sample query has a UDR in the select list and no WHERE clause.
SELECT c_udr1(tabid), COUNT(*)
   FROM t1 GROUP BY 1;
If 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. The table t1 has multiple fragments. Each scan thread fetches a row from a fragment of t1.
  • Multiple threads execute the UDR c_udr2() in parallel to process the GROUP BY clause. If table t1 is unfragmented, the GROUP BY operation can still execute in parallel even though the scan operation does not execute in parallel.