*/
@Test
public void testOuterJoinWithNullClause() throws InterruptedException {
NoSqlTypedSession s = mgr.getTypedSession();
QueryResult result = s.createQueryCursor("select * FROM Activity as e LEFT JOIN e.account as a WHERE e.numTimes < 15 and (e.account = null or a.isActive = false)", 50);
List<ViewInfo> views = result.getViews();
Cursor<IndexColumnInfo> cursor = result.getCursor();
ViewInfo viewAct = views.get(0);
ViewInfo viewAcc = views.get(1);
String alias1 = viewAct.getAlias();
String alias2 = viewAcc.getAlias();
Assert.assertEquals("e", alias1);
Assert.assertEquals("a", alias2);
Assert.assertTrue(cursor.next());
compareKeys(cursor, viewAct, viewAcc, "act1", "acc1");
Assert.assertTrue(cursor.next());
compareKeys(cursor, viewAct, viewAcc, "act5", null);
Assert.assertTrue(cursor.next());
compareKeys(cursor, viewAct, viewAcc, "act7", "acc1");
Assert.assertFalse(cursor.next());
Cursor<List<TypedRow>> rows = result.getAllViewsCursor();
rows.next();
List<TypedRow> joinedRow = rows.getCurrent();
TypedRow typedRow = joinedRow.get(0);