1 package org.davidmoten.rx.jdbc;
2
3 import java.sql.Connection;
4
5 import javax.annotation.Nonnull;
6
7 import com.github.davidmoten.guavamini.Preconditions;
8
9 import io.reactivex.Single;
10
11 public final class TransactedBuilder {
12
13 private final Single<Connection> connections;
14 private final Database db;
15
16 TransactedBuilder(TransactedConnection con, Database db) {
17 this.db = db;
18 this.connections = Single.just(con);
19 }
20
21 public TransactedSelectBuilder select(@Nonnull String sql) {
22 Preconditions.checkNotNull(sql, "sql cannot be null");
23 return new SelectBuilder(sql, connections, db).transacted();
24 }
25
26 public TransactedUpdateBuilder update(@Nonnull String sql) {
27 Preconditions.checkNotNull(sql, "sql cannot be null");
28 return new UpdateBuilder(sql, connections, db).transacted();
29 }
30
31 public TransactedCallableBuilder call(@Nonnull String sql) {
32 Preconditions.checkNotNull(sql, "sql cannot be null");
33 return new CallableBuilder(sql, connections, db).transacted();
34 }
35
36 }