@Override public <T> List<T> fetchValues(ResultSet rs, Class<T> type) { return fetch(rs).getValues(0, type); }
@Override public List<?> fetchValues(ResultSet rs) { return fetch(rs).getValues(0); }
@Override public <T> List<T> fetchValues(ResultSet rs, Field<T> field) { return fetch(rs).getValues(field); }
@Override public <T, R extends Record1<T>> List<T> fetchValues(ResultQuery<R> query) { return (List) fetch(query).getValues(0); }
@Override public <R extends Record> Result<R> fetch(Table<R> table) { return fetch(table, trueCondition()); }
@Override public CompletionStage<Result<Record>> fetchAsync(Executor executor, ResultSet rs, DataType<?>... types) { return ExecutorProviderCompletionStage.of( CompletableFuture.supplyAsync(blocking(() -> fetch(rs, types)), executor), () -> executor ); }
@Override public CompletionStage<Result<Record>> fetchAsync(Executor executor, ResultSet rs) { return ExecutorProviderCompletionStage.of( CompletableFuture.supplyAsync(blocking(() -> fetch(rs)), executor), () -> executor ); }
@Override public CompletionStage<Result<Record>> fetchAsync(Executor executor, ResultSet rs, Class<?>... types) { return ExecutorProviderCompletionStage.of( CompletableFuture.supplyAsync(blocking(() -> fetch(rs, types)), executor), () -> executor ); }
@Override public CompletionStage<Result<Record>> fetchAsync(Executor executor, ResultSet rs, Field<?>... fields) { return ExecutorProviderCompletionStage.of( CompletableFuture.supplyAsync(blocking(() -> fetch(rs, fields)), executor), () -> executor ); }
@Override public <T> List<T> fetchValues(ResultSet rs, DataType<T> type) { return fetch(rs).getValues(0, type.getType()); }