@@ -83,7 +83,9 @@ trait AsyncDBSession extends LogSupport {
83
83
}
84
84
85
85
def single [A ](statement : String , parameters : Any * )(extractor : WrappedResultSet => A )(
86
- implicit cxt : EC = ECGlobal ): Future [Option [A ]] = {
86
+ implicit
87
+ cxt : EC = ECGlobal
88
+ ): Future [Option [A ]] = {
87
89
val _parameters = ensureAndNormalizeParameters(parameters)
88
90
traversable(statement, _parameters : _* )(extractor).map { results =>
89
91
results match {
@@ -100,7 +102,9 @@ trait AsyncDBSession extends LogSupport {
100
102
}
101
103
102
104
def oneToOneTraversable [A , B , Z ](statement : String , parameters : Any * )(extractOne : (WrappedResultSet ) => A )(extractTo : (WrappedResultSet ) => Option [B ])(transform : (A , B ) => Z )(
103
- implicit cxt : EC = ECGlobal ): Future [Traversable [Z ]] = {
105
+ implicit
106
+ cxt : EC = ECGlobal
107
+ ): Future [Traversable [Z ]] = {
104
108
val _parameters = ensureAndNormalizeParameters(parameters)
105
109
withListeners(statement, _parameters) {
106
110
queryLogging(statement, _parameters)
@@ -124,10 +128,15 @@ trait AsyncDBSession extends LogSupport {
124
128
}
125
129
126
130
def oneToManyTraversable [A , B , Z ](statement : String , parameters : Any * )(
127
- extractOne : (WrappedResultSet ) => A )(
128
- extractTo : (WrappedResultSet ) => Option [B ])(
129
- transform : (A , Seq [B ]) => Z )(
130
- implicit cxt : EC = ECGlobal ): Future [Traversable [Z ]] = {
131
+ extractOne : (WrappedResultSet ) => A
132
+ )(
133
+ extractTo : (WrappedResultSet ) => Option [B ]
134
+ )(
135
+ transform : (A , Seq [B ]) => Z
136
+ )(
137
+ implicit
138
+ cxt : EC = ECGlobal
139
+ ): Future [Traversable [Z ]] = {
131
140
val _parameters = ensureAndNormalizeParameters(parameters)
132
141
withListeners(statement, _parameters) {
133
142
queryLogging(statement, _parameters)
@@ -151,11 +160,16 @@ trait AsyncDBSession extends LogSupport {
151
160
}
152
161
153
162
def oneToManies2Traversable [A , B1 , B2 , Z ](statement : String , parameters : Any * )(
154
- extractOne : (WrappedResultSet ) => A )(
155
- extractTo1 : (WrappedResultSet ) => Option [B1 ],
156
- extractTo2 : (WrappedResultSet ) => Option [B2 ])(
157
- transform : (A , Seq [B1 ], Seq [B2 ]) => Z )(
158
- implicit cxt : EC = ECGlobal ): Future [Traversable [Z ]] = {
163
+ extractOne : (WrappedResultSet ) => A
164
+ )(
165
+ extractTo1 : (WrappedResultSet ) => Option [B1 ],
166
+ extractTo2 : (WrappedResultSet ) => Option [B2 ]
167
+ )(
168
+ transform : (A , Seq [B1 ], Seq [B2 ]) => Z
169
+ )(
170
+ implicit
171
+ cxt : EC = ECGlobal
172
+ ): Future [Traversable [Z ]] = {
159
173
val _parameters = ensureAndNormalizeParameters(parameters)
160
174
withListeners(statement, _parameters) {
161
175
queryLogging(statement, _parameters)
@@ -186,12 +200,17 @@ trait AsyncDBSession extends LogSupport {
186
200
}
187
201
188
202
def oneToManies3Traversable [A , B1 , B2 , B3 , Z ](statement : String , parameters : Any * )(
189
- extractOne : (WrappedResultSet ) => A )(
190
- extractTo1 : (WrappedResultSet ) => Option [B1 ],
191
- extractTo2 : (WrappedResultSet ) => Option [B2 ],
192
- extractTo3 : (WrappedResultSet ) => Option [B3 ])(
193
- transform : (A , Seq [B1 ], Seq [B2 ], Seq [B3 ]) => Z )(
194
- implicit cxt : EC = ECGlobal ): Future [Traversable [Z ]] = {
203
+ extractOne : (WrappedResultSet ) => A
204
+ )(
205
+ extractTo1 : (WrappedResultSet ) => Option [B1 ],
206
+ extractTo2 : (WrappedResultSet ) => Option [B2 ],
207
+ extractTo3 : (WrappedResultSet ) => Option [B3 ]
208
+ )(
209
+ transform : (A , Seq [B1 ], Seq [B2 ], Seq [B3 ]) => Z
210
+ )(
211
+ implicit
212
+ cxt : EC = ECGlobal
213
+ ): Future [Traversable [Z ]] = {
195
214
val _parameters = ensureAndNormalizeParameters(parameters)
196
215
withListeners(statement, _parameters) {
197
216
queryLogging(statement, _parameters)
@@ -229,13 +248,18 @@ trait AsyncDBSession extends LogSupport {
229
248
}
230
249
231
250
def oneToManies4Traversable [A , B1 , B2 , B3 , B4 , Z ](statement : String , parameters : Any * )(
232
- extractOne : (WrappedResultSet ) => A )(
233
- extractTo1 : (WrappedResultSet ) => Option [B1 ],
234
- extractTo2 : (WrappedResultSet ) => Option [B2 ],
235
- extractTo3 : (WrappedResultSet ) => Option [B3 ],
236
- extractTo4 : (WrappedResultSet ) => Option [B4 ])(
237
- transform : (A , Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ]) => Z )(
238
- implicit cxt : EC = ECGlobal ): Future [Traversable [Z ]] = {
251
+ extractOne : (WrappedResultSet ) => A
252
+ )(
253
+ extractTo1 : (WrappedResultSet ) => Option [B1 ],
254
+ extractTo2 : (WrappedResultSet ) => Option [B2 ],
255
+ extractTo3 : (WrappedResultSet ) => Option [B3 ],
256
+ extractTo4 : (WrappedResultSet ) => Option [B4 ]
257
+ )(
258
+ transform : (A , Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ]) => Z
259
+ )(
260
+ implicit
261
+ cxt : EC = ECGlobal
262
+ ): Future [Traversable [Z ]] = {
239
263
val _parameters = ensureAndNormalizeParameters(parameters)
240
264
withListeners(statement, _parameters) {
241
265
queryLogging(statement, _parameters)
@@ -267,7 +291,8 @@ trait AsyncDBSession extends LogSupport {
267
291
connection.sendPreparedStatement(statement, _parameters : _* ).map { result =>
268
292
result.rows.map { ars =>
269
293
new AsyncResultSetTraversable (ars).foldLeft(
270
- LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ])]())(processResultSet).map {
294
+ LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ])]()
295
+ )(processResultSet).map {
271
296
case (one, (t1, t2, t3, t4)) => transform(one, t1, t2, t3, t4)
272
297
}
273
298
}.getOrElse(Nil )
@@ -277,22 +302,29 @@ trait AsyncDBSession extends LogSupport {
277
302
278
303
def oneToManies5Traversable [A , B1 , B2 , B3 , B4 , B5 , Z ](
279
304
statement : String ,
280
- parameters : Any * )(
281
- extractOne : (WrappedResultSet ) => A )(
282
- extractTo1 : (WrappedResultSet ) => Option [B1 ],
283
- extractTo2 : (WrappedResultSet ) => Option [B2 ],
284
- extractTo3 : (WrappedResultSet ) => Option [B3 ],
285
- extractTo4 : (WrappedResultSet ) => Option [B4 ],
286
- extractTo5 : (WrappedResultSet ) => Option [B5 ])(
287
- transform : (A , Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ]) => Z )(
288
- implicit cxt : EC = ECGlobal ): Future [Traversable [Z ]] = {
305
+ parameters : Any *
306
+ )(
307
+ extractOne : (WrappedResultSet ) => A
308
+ )(
309
+ extractTo1 : (WrappedResultSet ) => Option [B1 ],
310
+ extractTo2 : (WrappedResultSet ) => Option [B2 ],
311
+ extractTo3 : (WrappedResultSet ) => Option [B3 ],
312
+ extractTo4 : (WrappedResultSet ) => Option [B4 ],
313
+ extractTo5 : (WrappedResultSet ) => Option [B5 ]
314
+ )(
315
+ transform : (A , Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ]) => Z
316
+ )(
317
+ implicit
318
+ cxt : EC = ECGlobal
319
+ ): Future [Traversable [Z ]] = {
289
320
val _parameters = ensureAndNormalizeParameters(parameters)
290
321
withListeners(statement, _parameters) {
291
322
queryLogging(statement, _parameters)
292
323
293
324
def processResultSet (
294
325
result : (LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ])]),
295
- rs : WrappedResultSet ): LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ])] = {
326
+ rs : WrappedResultSet
327
+ ): LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ])] = {
296
328
val o = extractOne(rs)
297
329
val (to1, to2, to3, to4, to5) = (extractTo1(rs), extractTo2(rs), extractTo3(rs), extractTo4(rs), extractTo5(rs))
298
330
result.keys.find(_ == o).map { _ =>
@@ -321,7 +353,8 @@ trait AsyncDBSession extends LogSupport {
321
353
connection.sendPreparedStatement(statement, _parameters : _* ).map { result =>
322
354
result.rows.map { ars =>
323
355
new AsyncResultSetTraversable (ars).foldLeft(
324
- LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ])]())(processResultSet).map {
356
+ LinkedHashMap [A , (Seq [B1 ], Seq [B2 ], Seq [B3 ], Seq [B4 ], Seq [B5 ])]()
357
+ )(processResultSet).map {
325
358
case (one, (t1, t2, t3, t4, t5)) => transform(one, t1, t2, t3, t4, t5)
326
359
}
327
360
}.getOrElse(Nil )
@@ -344,7 +377,8 @@ trait AsyncDBSession extends LogSupport {
344
377
}
345
378
346
379
protected def withListeners [A ](statement : String , parameters : Seq [Any ], startMillis : Long = System .currentTimeMillis)(
347
- f : Future [A ])(implicit cxt : EC = EC .global): Future [A ] = {
380
+ f : Future [A ]
381
+ )(implicit cxt : EC = EC .global): Future [A ] = {
348
382
f.onSuccess {
349
383
case _ =>
350
384
val millis = System .currentTimeMillis - startMillis
0 commit comments