| /* |
| * Description : Notice the query hint to use an indexed nested-loops join plan. |
| * : We expect a plan that hash-exchanges internal dataset DsTwo, then probes internal dataset DsOne’s primary index. |
| * Expected Res : Success |
| * Date : 29th November 2012 |
| */ |
| |
| drop dataverse test1 if exists; |
| create dataverse test1; |
| |
| create type test1.TestType as open { |
| key1: int32, |
| key2: int32, |
| fname : string, |
| lname : string |
| } |
| |
| create dataset test1.DsOne(TestType) partitioned by key key1; |
| create dataset test1.DsTwo(TestType) partitioned by key key1; |
| |
| // Please note content enclosed in the comment in the predicate is the HINT to the optimizer |
| |
| for $x in dataset('test1.DsOne') |
| for $y in dataset('test1.DsTwo') |
| where $x.key1 /*+ indexnl */ < $y.key2 |
| return $x |
| |