Пример #1
0
  static void testDistRule() {
    String query =
        "Edge(int a:0..100,(int b)).\n"
            + "InEdge(int a:0..100,(int b)).\n"
            + "Edge(s,t) :- s=1, t=99.\n"
            + "InEdge(t,s) :- Edge(s,t).\n"
            + "?-InEdge(s,t).\n";
    Parser p = new Parser();
    p.parse(query);
    TestAnalysis an = new TestAnalysis(p);
    an.setDistributed();
    an.run();

    for (Table t : an.getRemoteTables()) {
      Assert.true_(t instanceof RemoteHeadTable);
      Column c = t.getColumn(0);
      Assert.not_true(c.hasRange(), "RemoteTables are not array-tables");
    }
  }