@@ -64,13 +64,13 @@ defmodule Ecto.Adapters.SQL do
64
64
do: { :cache , { System . unique_integer ( [ :positive ] ) , IO . iodata_to_binary ( @ conn . delete_all ( query ) ) } }
65
65
66
66
@ doc false
67
- def execute ( repo , meta , query , params , process , opts ) do
68
- Ecto.Adapters.SQL . execute ( repo , meta , query , params , process , opts )
67
+ def execute ( repo , meta , query , params , opts ) do
68
+ Ecto.Adapters.SQL . execute ( repo , meta , query , params , opts )
69
69
end
70
70
71
71
@ doc false
72
- def stream ( repo , meta , query , params , process , opts ) do
73
- Ecto.Adapters.SQL . stream ( repo , meta , query , params , process , opts )
72
+ def stream ( repo , meta , query , params , opts ) do
73
+ Ecto.Adapters.SQL . stream ( repo , meta , query , params , opts )
74
74
end
75
75
76
76
@ doc false
@@ -141,7 +141,7 @@ defmodule Ecto.Adapters.SQL do
141
141
Ecto.Adapters.SQL . lock_for_migrations ( repo , query , opts , fun )
142
142
end
143
143
144
- defoverridable [ prepare: 2 , execute: 6 , insert: 6 , update: 6 , delete: 4 , insert_all: 7 ,
144
+ defoverridable [ prepare: 2 , execute: 5 , insert: 6 , update: 6 , delete: 4 , insert_all: 7 ,
145
145
execute_ddl: 3 , loaders: 2 , dumpers: 2 , autogenerate: 1 , ensure_all_started: 2 ,
146
146
lock_for_migrations: 4 ]
147
147
end
@@ -197,11 +197,7 @@ defmodule Ecto.Adapters.SQL do
197
197
optional ( atom ) => any }
198
198
| no_return
199
199
def query! ( repo , sql , params \\ [ ] , opts \\ [ ] ) do
200
- query! ( repo , sql , params , fn x -> x end , opts )
201
- end
202
-
203
- defp query! ( repo , sql , params , mapper , opts ) do
204
- case query ( repo , sql , params , mapper , opts ) do
200
+ case query ( repo , sql , params , opts ) do
205
201
{ :ok , result } -> result
206
202
{ :error , err } -> raise err
207
203
end
@@ -246,17 +242,13 @@ defmodule Ecto.Adapters.SQL do
246
242
optional ( atom ) => any } }
247
243
| { :error , Exception . t }
248
244
def query ( repo , sql , params \\ [ ] , opts \\ [ ] ) do
249
- query ( repo , sql , params , fn x -> x end , opts )
250
- end
251
-
252
- defp query ( repo , sql , params , mapper , opts ) do
253
- sql_call ( repo , :execute , [ sql ] , params , mapper , opts )
245
+ sql_call ( repo , :execute , [ sql ] , params , opts )
254
246
end
255
247
256
- defp sql_call ( repo , callback , args , params , mapper , opts ) do
248
+ defp sql_call ( repo , callback , args , params , opts ) do
257
249
{ repo_mod , pool , default_opts } = lookup_pool ( repo )
258
250
conn = get_conn ( pool ) || pool
259
- opts = [ decode_mapper: mapper ] ++ with_log ( repo_mod , params , opts ++ default_opts )
251
+ opts = with_log ( repo_mod , params , opts ++ default_opts )
260
252
args = args ++ [ params , opts ]
261
253
try do
262
254
apply ( repo_mod . __sql__ , callback , [ conn | args ] )
@@ -406,39 +398,41 @@ defmodule Ecto.Adapters.SQL do
406
398
end
407
399
408
400
@ doc false
409
- def execute ( repo , meta , prepared , params , mapper , opts ) do
410
- do_execute ( repo , meta , prepared , params , mapper , put_source ( opts , meta ) )
401
+ def execute ( repo , meta , prepared , params , opts ) do
402
+ % { num_rows: num , rows: rows } = do_execute ( repo , meta , prepared , params , put_source ( opts , meta ) )
403
+ { num , rows }
411
404
end
412
405
413
- defp do_execute ( repo , _meta , { :cache , update , { id , prepared } } , params , mapper , opts ) do
414
- execute_and_cache ( repo , id , update , prepared , params , mapper , opts )
406
+ defp do_execute ( repo , _meta , { :cache , update , { id , prepared } } , params , opts ) do
407
+ execute_and_cache ( repo , id , update , prepared , params , opts )
415
408
end
416
409
417
- defp do_execute ( repo , _meta , { :cached , reset , { id , cached } } , params , mapper , opts ) do
418
- execute_or_reset ( repo , id , reset , cached , params , mapper , opts )
410
+ defp do_execute ( repo , _meta , { :cached , reset , { id , cached } } , params , opts ) do
411
+ execute_or_reset ( repo , id , reset , cached , params , opts )
419
412
end
420
413
421
- defp do_execute ( repo , _meta , { :nocache , { _id , prepared } } , params , mapper , opts ) do
422
- % { rows: rows , num_rows: num } =
423
- sql_call! ( repo , :execute , [ prepared ] , params , mapper , opts )
424
- { num , rows }
414
+ defp do_execute ( repo , _meta , { :nocache , { _id , prepared } } , params , opts ) do
415
+ case sql_call ( repo , :execute , [ prepared ] , params , opts ) do
416
+ { :ok , res } -> res
417
+ { :error , err } -> raise err
418
+ end
425
419
end
426
420
427
- defp execute_and_cache ( repo , id , update , prepared , params , mapper , opts ) do
421
+ defp execute_and_cache ( repo , id , update , prepared , params , opts ) do
428
422
name = "ecto_" <> Integer . to_string ( id )
429
- case sql_call ( repo , :prepare_execute , [ name , prepared ] , params , mapper , opts ) do
430
- { :ok , query , % { num_rows: num , rows: rows } } ->
423
+ case sql_call ( repo , :prepare_execute , [ name , prepared ] , params , opts ) do
424
+ { :ok , query , result } ->
431
425
update . ( { id , query } )
432
- { num , rows }
426
+ result
433
427
{ :error , err } ->
434
428
raise err
435
429
end
436
430
end
437
431
438
- defp execute_or_reset ( repo , id , reset , cached , params , mapper , opts ) do
439
- case sql_call ( repo , :execute , [ cached ] , params , mapper , opts ) do
440
- { :ok , % { num_rows: num , rows: rows } } ->
441
- { num , rows }
432
+ defp execute_or_reset ( repo , id , reset , cached , params , opts ) do
433
+ case sql_call ( repo , :execute , [ cached ] , params , opts ) do
434
+ { :ok , result } ->
435
+ result
442
436
{ :error , err } ->
443
437
raise err
444
438
{ :reset , err } ->
@@ -447,13 +441,6 @@ defmodule Ecto.Adapters.SQL do
447
441
end
448
442
end
449
443
450
- defp sql_call! ( repo , callback , args , params , mapper , opts ) do
451
- case sql_call ( repo , callback , args , params , mapper , opts ) do
452
- { :ok , res } -> res
453
- { :error , err } -> raise err
454
- end
455
- end
456
-
457
444
@ doc """
458
445
Returns a stream that runs a custom SQL query on given repo when reduced.
459
446
@@ -488,36 +475,36 @@ defmodule Ecto.Adapters.SQL do
488
475
"""
489
476
@ spec stream ( Ecto.Repo . t , String . t , [ term ] , Keyword . t ) :: Enum . t
490
477
def stream ( repo , sql , params \\ [ ] , opts \\ [ ] ) do
491
- Ecto.Adapters.SQL.Stream . __build__ ( repo , sql , params , fn x -> x end , opts )
478
+ Ecto.Adapters.SQL.Stream . __build__ ( repo , sql , params , opts )
492
479
end
493
480
494
481
@ doc false
495
- def stream ( repo , meta , prepared , params , mapper , opts ) do
496
- do_stream ( repo , meta , prepared , params , mapper , put_source ( opts , meta ) )
482
+ def stream ( repo , meta , prepared , params , opts ) do
483
+ do_stream ( repo , meta , prepared , params , put_source ( opts , meta ) )
497
484
end
498
485
499
- def do_stream ( repo , _meta , { :cache , _ , { _ , prepared } } , params , mapper , opts ) do
500
- prepare_stream ( repo , prepared , params , mapper , opts )
486
+ def do_stream ( repo , _meta , { :cache , _ , { _ , prepared } } , params , opts ) do
487
+ prepare_stream ( repo , prepared , params , opts )
501
488
end
502
489
503
- def do_stream ( repo , _ , { :cached , _ , { _ , cached } } , params , mapper , opts ) do
504
- prepare_stream ( repo , String.Chars . to_string ( cached ) , params , mapper , opts )
490
+ def do_stream ( repo , _ , { :cached , _ , { _ , cached } } , params , opts ) do
491
+ prepare_stream ( repo , String.Chars . to_string ( cached ) , params , opts )
505
492
end
506
493
507
- def do_stream ( repo , _meta , { :nocache , { _id , prepared } } , params , mapper , opts ) do
508
- prepare_stream ( repo , prepared , params , mapper , opts )
494
+ def do_stream ( repo , _meta , { :nocache , { _id , prepared } } , params , opts ) do
495
+ prepare_stream ( repo , prepared , params , opts )
509
496
end
510
497
511
- defp prepare_stream ( repo , prepared , params , mapper , opts ) do
498
+ defp prepare_stream ( repo , prepared , params , opts ) do
512
499
repo
513
- |> Ecto.Adapters.SQL.Stream . __build__ ( prepared , params , mapper , opts )
500
+ |> Ecto.Adapters.SQL.Stream . __build__ ( prepared , params , opts )
514
501
|> Stream . map ( fn ( % { num_rows: nrows , rows: rows } ) -> { nrows , rows } end )
515
502
end
516
503
517
504
@ doc false
518
- def reduce ( repo , statement , params , mapper , opts , acc , fun ) do
505
+ def reduce ( repo , statement , params , opts , acc , fun ) do
519
506
{ repo_mod , pool , default_opts } = lookup_pool ( repo )
520
- opts = [ decode_mapper: mapper ] ++ with_log ( repo , params , opts ++ default_opts )
507
+ opts = with_log ( repo , params , opts ++ default_opts )
521
508
case get_conn ( pool ) do
522
509
nil ->
523
510
raise "cannot reduce stream outside of transaction"
@@ -528,9 +515,9 @@ defmodule Ecto.Adapters.SQL do
528
515
end
529
516
530
517
@ doc false
531
- def into ( repo , statement , params , mapper , opts ) do
518
+ def into ( repo , statement , params , opts ) do
532
519
{ repo_mod , pool , default_opts } = lookup_pool ( repo )
533
- opts = [ decode_mapper: mapper ] ++ with_log ( repo_mod , params , opts ++ default_opts )
520
+ opts = with_log ( repo_mod , params , opts ++ default_opts )
534
521
case get_conn ( pool ) do
535
522
nil ->
536
523
raise "cannot collect into stream outside of transaction"
@@ -542,7 +529,7 @@ defmodule Ecto.Adapters.SQL do
542
529
543
530
@ doc false
544
531
def struct ( repo , conn , sql , { operation , source , params } , values , on_conflict , returning , opts ) do
545
- case query ( repo , sql , values , fn x -> x end , opts ) do
532
+ case query ( repo , sql , values , opts ) do
546
533
{ :ok , % { rows: nil , num_rows: 1 } } ->
547
534
{ :ok , [ ] }
548
535
{ :ok , % { rows: [ values ] , num_rows: 1 } } ->
0 commit comments