示例#1
0
 private static boolean invoke(
     PageContext pc, Query qry, UDF udf, ExecutorService es, List<Future<Data<Object>>> futures)
     throws CasterException, PageException {
   final int pid = pc.getId();
   ForEachQueryIterator it = new ForEachQueryIterator(qry, pid);
   boolean async = es != null;
   double r;
   Object res, row;
   try {
     while (it.hasNext()) {
       row = it.next();
       r = Caster.toDoubleValue(qry.getCurrentrow(pid));
       res = _inv(pc, udf, new Object[] {row, r, qry}, r, row, es, futures);
       if (!async && !Caster.toBooleanValue(res)) {
         return false;
       }
     }
   } finally {
     it.reset();
   }
   return true;
 }