Example #1
0
  private <T extends Rush> List<T> load(Class<T> clazz, String sql, final RushQue que) {
    logger.logSql(sql);
    RushStatementRunner.ValuesCallback values = statementRunner.runGet(sql, que);
    List<T> objects =
        rushClassLoader.loadClasses(
            clazz,
            rushColumns,
            annotationCache,
            values,
            new RushClassLoader.LoadCallback() {
              @Override
              public RushStatementRunner.ValuesCallback runStatement(String string) {
                logger.logSql(string);
                return statementRunner.runGet(string, que);
              }

              @Override
              public void didLoadObject(Rush rush, RushMetaData rushMetaData) {
                registerObjectWithMetaData(rush, rushMetaData);
              }
            });
    values.close();
    queProvider.queComplete(que);
    if (objects == null) {
      throw new RushTableMissingEmptyConstructorException(clazz);
    }
    return objects;
  }
Example #2
0
 public long count(String sql) {
   final RushQue que = queProvider.blockForNextQue();
   logger.logSql(sql);
   RushStatementRunner.ValuesCallback valuesCallback = statementRunner.runGet(sql, que);
   List<String> results = valuesCallback.next();
   long count = Long.parseLong(results.get(0));
   valuesCallback.close();
   queProvider.queComplete(que);
   return count;
 }