@@ -1438,21 +1438,19 @@ defmodule Ecto.Adapters.SQL do
14381438 ) :: Exception . stacktrace ( )
14391439 def first_non_ecto_stacktrace ( stacktrace , % { repo: repo } , size ) do
14401440 stacktrace
1441- |> first_non_ecto_entries ( repo , size , size , [ ] )
14421441 |> Enum . reverse ( )
1442+ |> last_non_ecto_entries ( repo , [ ] )
1443+ |> Enum . take ( size )
14431444 end
14441445
1445- defp first_non_ecto_entries ( [ { mod , _ , _ , _ } | rest ] , repo , size , _ , _ )
1446+ defp last_non_ecto_entries ( [ { mod , _ , _ , _ } | _ ] , repo , acc )
14461447 when mod == repo or mod in @ repo_modules ,
1447- do: first_non_ecto_entries ( rest , repo , size , size , [ ] )
1448+ do: acc
14481449
1449- defp first_non_ecto_entries ( [ _ | rest ] , repo , size , 0 , acc ) ,
1450- do: first_non_ecto_entries ( rest , repo , size , 0 , acc )
1450+ defp last_non_ecto_entries ( [ entry | rest ] , repo , acc ) ,
1451+ do: last_non_ecto_entries ( rest , repo , [ entry | acc ] )
14511452
1452- defp first_non_ecto_entries ( [ ] , _ , _ , _ , acc ) , do: acc
1453-
1454- defp first_non_ecto_entries ( [ entry | rest ] , repo , size , pending , acc ) ,
1455- do: first_non_ecto_entries ( rest , repo , size , pending - 1 , [ entry | acc ] )
1453+ defp last_non_ecto_entries ( [ ] , _ , acc ) , do: acc
14561454
14571455 ## Connection helpers
14581456
0 commit comments