@@ -377,6 +377,8 @@ defmodule Mongo.Ecto do
377377 @ doc false
378378 def __pool__ , do: { unquote ( pool_name ) , unquote ( Macro . escape ( norm_config ) ) }
379379
380+ def in_transaction? , do: false
381+
380382 defoverridable [ __pool__: 0 ]
381383 end
382384 end
@@ -426,13 +428,14 @@ defmodule Mongo.Ecto do
426428 end
427429
428430 @ doc false
429- def loaders ( :time , type ) , do: [ & load_time / 1 , type ]
430- def loaders ( :date , type ) , do: [ & load_date / 1 , type ]
431- def loaders ( :datetime , type ) , do: [ & load_datetime / 1 , type ]
432- def loaders ( :binary_id , type ) , do: [ & load_objectid / 1 , type ]
433- def loaders ( :uuid , type ) , do: [ & load_binary / 1 , type ]
434- def loaders ( :binary , type ) , do: [ & load_binary / 1 , type ]
435- def loaders ( _base , type ) , do: [ type ]
431+ def loaders ( :time , type ) , do: [ & load_time / 1 , type ]
432+ def loaders ( :date , type ) , do: [ & load_date / 1 , type ]
433+ def loaders ( :utc_datetime , type ) , do: [ & load_datetime / 1 , type ]
434+ def loaders ( :naive_datetime , type ) , do: [ & load_datetime / 1 , type ]
435+ def loaders ( :binary_id , type ) , do: [ & load_objectid / 1 , type ]
436+ def loaders ( :uuid , type ) , do: [ & load_binary / 1 , type ]
437+ def loaders ( :binary , type ) , do: [ & load_binary / 1 , type ]
438+ def loaders ( _base , type ) , do: [ type ]
436439
437440 defp load_time ( % BSON.DateTime { } = time ) do
438441 { { _ , _ , _ } , time } = BSON.DateTime . to_datetime ( time )
@@ -469,13 +472,14 @@ defmodule Mongo.Ecto do
469472 defp load_objectid ( _ ) , do: :error
470473
471474 @ doc false
472- def dumpers ( :time , type ) , do: [ type , & dump_time / 1 ]
473- def dumpers ( :date , type ) , do: [ type , & dump_date / 1 ]
474- def dumpers ( :datetime , type ) , do: [ type , & dump_datetime / 1 ]
475- def dumpers ( :binary_id , type ) , do: [ type , & dump_objectid / 1 ]
476- def dumpers ( :uuid , type ) , do: [ type , & dump_binary ( & 1 , :uuid ) ]
477- def dumpers ( :binary , type ) , do: [ type , & dump_binary ( & 1 , :generic ) ]
478- def dumpers ( _base , type ) , do: [ type ]
475+ def dumpers ( :time , type ) , do: [ type , & dump_time / 1 ]
476+ def dumpers ( :date , type ) , do: [ type , & dump_date / 1 ]
477+ def dumpers ( :utc_datetime , type ) , do: [ type , & dump_datetime / 1 ]
478+ def dumpers ( :naive_datetime , type ) , do: [ type , & dump_datetime / 1 ]
479+ def dumpers ( :binary_id , type ) , do: [ type , & dump_objectid / 1 ]
480+ def dumpers ( :uuid , type ) , do: [ type , & dump_binary ( & 1 , :uuid ) ]
481+ def dumpers ( :binary , type ) , do: [ type , & dump_binary ( & 1 , :generic ) ]
482+ def dumpers ( _base , type ) , do: [ type ]
479483
480484 defp dump_time ( { _ , _ , _ , _ } = time ) ,
481485 do: { :ok , BSON.DateTime . from_datetime ( { { 0 , 0 , 0 } , time } ) }
@@ -537,13 +541,13 @@ defmodule Mongo.Ecto do
537541 end
538542
539543 @ doc false
540- def insert ( _repo , meta , _params , [ _ | _ ] = returning , _opts ) do
544+ def insert ( _repo , meta , _params , _on_conflict , [ _ | _ ] = returning , _opts ) do
541545 raise ArgumentError ,
542546 "MongoDB adapter does not support :read_after_writes in models. " <>
543547 "The following fields in #{ inspect meta . schema } are tagged as such: #{ inspect returning } "
544548 end
545549
546- def insert ( repo , meta , params , [ ] , opts ) do
550+ def insert ( repo , meta , params , _ , [ ] , opts ) do
547551 normalized = NormalizedQuery . insert ( meta , params )
548552
549553 case Connection . insert ( repo , normalized , opts ) do
@@ -554,7 +558,7 @@ defmodule Mongo.Ecto do
554558 end
555559 end
556560
557- def insert_all ( repo , meta , fields , params , returning , opts ) do
561+ def insert_all ( repo , meta , fields , params , _ , returning , opts ) do
558562 normalized = NormalizedQuery . insert ( meta , params )
559563
560564 case Connection . insert_all ( repo , normalized , opts ) do
@@ -711,6 +715,12 @@ defmodule Mongo.Ecto do
711715 end
712716 end
713717
718+ #
719+ # Transaction callbacks
720+ #
721+
722+ def in_transaction? ( _repo ) , do: false
723+
714724 ## Mongo specific calls
715725
716726 @ doc """
0 commit comments