docs: @Local
      @Override
      public <V> V directQuery(String sql, Function<ResultSet, V> handler) {
          final Connection conn = readPool.poll();
          try {
              if (logger.isLoggable(Level.FINEST)) logger.finest("direct query sql=" + sql);
              conn.setReadOnly(true);
              final Statement statement = conn.createStatement();
              //final PreparedStatement statement = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
              final ResultSet set = statement.executeQuery(sql);// ps.executeQuery();
              V rs = handler.apply(set);
              set.close();
              statement.close();
              return rs;
          } catch (Exception ex) {
              throw new RuntimeException(ex);
          } finally {
              if (conn != null) readPool.offerConnection(conn);
          }
      }