36
36
import java .util .stream .Collector ;
37
37
38
38
/**
39
- * A query result handler for building a {@link SqlResult} .
39
+ * Executes query.
40
40
*/
41
- class SqlResultBuilder <T , R extends SqlResultBase <T >, L extends SqlResult <T >> {
41
+ class QueryExecutor <T , R extends SqlResultBase <T >, L extends SqlResult <T >> {
42
42
43
43
private final SqlTracer tracer ;
44
44
private final Function <T , R > factory ;
45
45
private final Collector <Row , ?, T > collector ;
46
46
47
- public SqlResultBuilder (SqlTracer tracer ,
48
- Function <T , R > factory ,
49
- Collector <Row , ?, T > collector ) {
47
+ public QueryExecutor (SqlTracer tracer ,
48
+ Function <T , R > factory ,
49
+ Collector <Row , ?, T > collector ) {
50
50
this .tracer = tracer ;
51
51
this .factory = factory ;
52
52
this .collector = collector ;
@@ -56,12 +56,8 @@ SqlTracer tracer() {
56
56
return tracer ;
57
57
}
58
58
59
- private SqlResultHandler <T , R , L > createHandler (Promise <L > promise ) {
60
- return new SqlResultHandler <>(factory , null , null , promise );
61
- }
62
-
63
- private SqlResultHandler <T , R , L > createHandler (Promise <L > promise , Object payload ) {
64
- return new SqlResultHandler <>(factory , tracer , payload , promise );
59
+ private QueryResultBuilder <T , R , L > createHandler (Promise <L > promise , Object payload ) {
60
+ return new QueryResultBuilder <>(factory , tracer , payload , promise );
65
61
}
66
62
67
63
void executeSimpleQuery (CommandScheduler scheduler ,
@@ -76,26 +72,26 @@ void executeSimpleQuery(CommandScheduler scheduler,
76
72
} else {
77
73
payload = null ;
78
74
}
79
- SqlResultHandler handler = createHandler (promise , payload );
75
+ QueryResultBuilder handler = createHandler (promise , payload );
80
76
scheduler .schedule (new SimpleQueryCommand <>(sql , singleton , autoCommit , collector , handler ), handler );
81
77
}
82
78
83
- SqlResultHandler <T , R , L > executeExtendedQuery (CommandScheduler scheduler ,
84
- PreparedStatement preparedStatement ,
85
- boolean autoCommit ,
86
- Tuple arguments ,
87
- int fetch ,
88
- String cursorId ,
89
- boolean suspended ,
90
- Promise <L > promise ) {
79
+ QueryResultBuilder <T , R , L > executeExtendedQuery (CommandScheduler scheduler ,
80
+ PreparedStatement preparedStatement ,
81
+ boolean autoCommit ,
82
+ Tuple arguments ,
83
+ int fetch ,
84
+ String cursorId ,
85
+ boolean suspended ,
86
+ Promise <L > promise ) {
91
87
ContextInternal context = (ContextInternal ) promise .future ().context ();
92
88
Object payload ;
93
89
if (tracer != null ) {
94
90
payload = tracer .sendRequest (context , preparedStatement .sql (), arguments );
95
91
} else {
96
92
payload = null ;
97
93
}
98
- SqlResultHandler handler = createHandler (promise , payload );
94
+ QueryResultBuilder handler = createHandler (promise , payload );
99
95
String msg = preparedStatement .prepare ((TupleInternal ) arguments );
100
96
if (msg != null ) {
101
97
handler .fail (msg );
@@ -122,7 +118,7 @@ void executeExtendedQuery(CommandScheduler scheduler, String sql, boolean autoCo
122
118
} else {
123
119
payload = null ;
124
120
}
125
- SqlResultHandler handler = this .createHandler (promise , payload );
121
+ QueryResultBuilder handler = this .createHandler (promise , payload );
126
122
BiCommand <PreparedStatement , Boolean > cmd = new BiCommand <>(new PrepareStatementCommand (sql , true ), ps -> {
127
123
String msg = ps .prepare ((TupleInternal ) arguments );
128
124
if (msg != null ) {
@@ -136,7 +132,7 @@ void executeExtendedQuery(CommandScheduler scheduler, String sql, boolean autoCo
136
132
private ExtendedQueryCommand <T > createExtendedQueryCommand (PreparedStatement preparedStatement ,
137
133
boolean autoCommit ,
138
134
Tuple args ,
139
- SqlResultHandler <T , R , L > handler ) {
135
+ QueryResultBuilder <T , R , L > handler ) {
140
136
return new ExtendedQueryCommand <>(
141
137
preparedStatement ,
142
138
args ,
@@ -157,7 +153,7 @@ void executeBatchQuery(CommandScheduler scheduler,
157
153
} else {
158
154
payload = null ;
159
155
}
160
- SqlResultHandler handler = createHandler (promise , payload );
156
+ QueryResultBuilder handler = createHandler (promise , payload );
161
157
for (Tuple args : batch ) {
162
158
String msg = preparedStatement .prepare ((TupleInternal )args );
163
159
if (msg != null ) {
@@ -177,7 +173,7 @@ void executeBatchQuery(CommandScheduler scheduler, String sql, boolean autoCommi
177
173
} else {
178
174
payload = null ;
179
175
}
180
- SqlResultHandler handler = this . createHandler (promise , payload );
176
+ QueryResultBuilder handler = createHandler (promise , payload );
181
177
BiCommand <PreparedStatement , Boolean > cmd = new BiCommand <>(new PrepareStatementCommand (sql , true ), ps -> {
182
178
for (Tuple args : batch ) {
183
179
String msg = ps .prepare ((TupleInternal ) args );
@@ -193,6 +189,7 @@ void executeBatchQuery(CommandScheduler scheduler, String sql, boolean autoCommi
193
189
private ExtendedBatchQueryCommand <T > createBatchQueryCommand (PreparedStatement preparedStatement ,
194
190
boolean autoCommit ,
195
191
List <Tuple > argsList ,
196
- SqlResultHandler <T , R , L > handler ) {
192
+ QueryResultBuilder <T , R , L > handler ) {
197
193
return new ExtendedBatchQueryCommand <>(preparedStatement , argsList , autoCommit , collector , handler );
198
- }}
194
+ }
195
+ }
0 commit comments