Skip to content

Commit

Permalink
Remove unneded conditional on inspect
Browse files Browse the repository at this point in the history
  • Loading branch information
josevalim committed May 17, 2024
1 parent 283af43 commit e2ece90
Showing 1 changed file with 22 additions and 19 deletions.
41 changes: 22 additions & 19 deletions lib/ecto/query/inspect.ex
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ defimpl Inspect, for: Ecto.Query.DynamicExpr do
aliases =
for({as, _} when is_atom(as) <- binding, do: as)
|> Enum.with_index()
|> Map.new
|> Map.new()

query = %Ecto.Query{joins: joins, aliases: aliases}

Expand Down Expand Up @@ -54,12 +54,19 @@ defimpl Inspect, for: Ecto.Query do
%WithExpr{recursive: recursive, queries: [_ | _] = queries} ->
with_ctes =
Enum.map(queries, fn {name, cte_opts, query} ->
cte = case query do
%Ecto.Query{} -> __MODULE__.inspect(query, opts)
%Ecto.Query.QueryExpr{} -> expr(query, {})
end

concat(["|> with_cte(\"" <> name <> "\", materialized: ", inspect(cte_opts[:materialized]), ", as: ", cte, ")"])
cte =
case query do
%Ecto.Query{} -> __MODULE__.inspect(query, opts)
%Ecto.Query.QueryExpr{} -> expr(query, {})
end

concat([
"|> with_cte(\"" <> name <> "\", materialized: ",
inspect(cte_opts[:materialized]),
", as: ",
cte,
")"
])
end)

result = if recursive, do: glue(result, "\n", "|> recursive_ctes(true)"), else: result
Expand Down Expand Up @@ -135,10 +142,15 @@ defimpl Inspect, for: Ecto.Query do
end

defp inspect_source(%{source: %Ecto.Query{} = query}, _names), do: "^" <> inspect(query)
defp inspect_source(%{source: %Ecto.SubQuery{query: query}}, _names), do: "subquery(#{to_string(query)})"

defp inspect_source(%{source: %Ecto.SubQuery{query: query}}, _names),
do: "subquery(#{to_string(query)})"

defp inspect_source(%{source: {source, nil}}, _names), do: inspect(source)
defp inspect_source(%{source: {nil, schema}}, _names), do: inspect(schema)
defp inspect_source(%{source: {:fragment, _, _} = source} = part, names), do: "#{expr(source, names, part)}"

defp inspect_source(%{source: {:fragment, _, _} = source} = part, names),
do: "#{expr(source, names, part)}"

defp inspect_source(%{source: {:values, _, [types | _]}}, _names) do
fields = Keyword.keys(types)
Expand Down Expand Up @@ -238,16 +250,7 @@ defimpl Inspect, for: Ecto.Query do
|> macro_to_string()
end

if Version.match?(System.version(), ">= 1.11.0") do
defp macro_to_string(expr), do: Macro.to_string(expr)
else
defp macro_to_string(expr) do
Macro.to_string(expr, fn
{{:., _, [_, _]}, _, []}, string -> String.replace_suffix(string, "()", "")
_other, string -> string
end)
end
end
defp macro_to_string(expr), do: Macro.to_string(expr)

# Tagged values
defp prewalk(%Ecto.Query.Tagged{value: value, tag: nil}) do
Expand Down

0 comments on commit e2ece90

Please sign in to comment.