@@ -25,26 +25,26 @@ import Ecto.Query
2525alias Ecto.Bench . { User , Game }
2626
2727inputs = % {
28- "Ordinary Select All" => { :all , from ( User ) } ,
29- "Ordinary Delete All" => { :delete_all , from ( User ) } ,
30- "Ordinary Update All" => { :update_all , from ( User , update: [ set: [ name: "Thor" ] ] ) } ,
31- "Ordinary Where" => { :all , from ( User , where: [ name: "Thanos" , email: "blah@blah" ] ) } ,
32- "Fetch First Registry" => { :all , first ( User ) } ,
33- "Fetch Last Registry" => { :all , last ( User ) } ,
34- "Ordinary Order By" => { :all , order_by ( User , desc: :name ) } ,
35- "Complex Query 2 Joins" =>
28+ "1. Ordinary Select All" => { :all , from ( User ) } ,
29+ "2. Ordinary Delete All" => { :delete_all , from ( User ) } ,
30+ "3. Ordinary Update All" => { :update_all , from ( User , update: [ set: [ name: "Thor" ] ] ) } ,
31+ "4. Ordinary Where" => { :all , from ( User , where: [ name: "Thanos" , email: "blah@blah" ] ) } ,
32+ "5. Fetch First Registry" => { :all , first ( User ) } ,
33+ "6. Fetch Last Registry" => { :all , last ( User ) } ,
34+ "7. Ordinary Order By" => { :all , order_by ( User , desc: :name ) } ,
35+ "8. Complex Query 2 Joins" =>
3636 { :all ,
3737 from ( User , where: [ name: "Thanos" ] )
3838 |> join ( :left , [ u ] , ux in User , on: u . id == ux . id )
3939 |> join ( :right , [ j ] , uj in User , on: j . id == 1 and j . email == "email@email" )
4040 |> select ( [ u , ux ] , { u . name , ux . email } ) } ,
41- "Complex Query 4 Joins" =>
41+ "9. Complex Query 4 Joins" =>
4242 { :all ,
4343 from ( User )
4444 |> join ( :left , [ u ] , g in Game , on: g . name == u . name )
4545 |> join ( :right , [ g ] , u in User , on: g . id == 1 and u . email == "email@email" )
46- |> join ( :inner , [ u ] , g in fragment ( "SELECT * from games where game.id = ?" , u . id ) )
47- |> join ( :left , [ g ] , u in fragment ( "SELECT * from users = ?" , g . id ) )
46+ |> join ( :inner , [ u ] , g in fragment ( "SELECT * from games where game.id = ?" , u . id ) , on: true )
47+ |> join ( :left , [ g ] , u in fragment ( "SELECT * from users = ?" , g . id ) , on: true )
4848 |> select ( [ u , g ] , { u . name , g . price } ) }
4949}
5050
@@ -53,12 +53,8 @@ jobs = %{
5353 "MyXQL Query Builder" => fn { type , query } -> Ecto.Bench.MyXQLRepo . to_sql ( type , query ) end
5454}
5555
56- path = System . get_env ( "BENCHMARKS_OUTPUT_PATH" ) || "bench/results"
57- file = Path . join ( path , "to_sql.json" )
58-
5956Benchee . run (
6057 jobs ,
6158 inputs: inputs ,
62- formatters: [ Benchee.Formatters.Console ] ,
63- formatter_options: [ json: [ file: file ] ]
59+ formatters: Ecto.Bench.Helper . formatters ( "to_sql" )
6460)
0 commit comments