Skip to content

Commit 5cdda28

Browse files
committed
Swap in Enum.map_intersperse/3
1 parent 53c4dde commit 5cdda28

File tree

1 file changed

+24
-38
lines changed

1 file changed

+24
-38
lines changed

lib/ecto/adapters/sqlite3/connection.ex

Lines changed: 24 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,10 @@ defmodule Ecto.Adapters.SQLite3.Connection do
285285

286286
@impl true
287287
def update(prefix, table, fields, filters, returning) do
288-
fields = intersperse_map(fields, ", ", &[quote_name(&1), " = ?"])
288+
fields = Enum.map_intersperse(fields, ", ", &[quote_name(&1), " = ?"])
289289

290290
filters =
291-
intersperse_map(filters, " AND ", fn
291+
Enum.map_intersperse(filters, " AND ", fn
292292
{field, nil} ->
293293
[quote_name(field), " IS NULL"]
294294

@@ -310,7 +310,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
310310
@impl true
311311
def delete(prefix, table, filters, returning) do
312312
filters =
313-
intersperse_map(filters, " AND ", fn
313+
Enum.map_intersperse(filters, " AND ", fn
314314
{field, nil} ->
315315
[quote_name(field), " IS NULL"]
316316

@@ -482,7 +482,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
482482

483483
@impl true
484484
def execute_ddl({:create, %Index{} = index}) do
485-
fields = intersperse_map(index.columns, ", ", &index_expr/1)
485+
fields = Enum.map_intersperse(index.columns, ", ", &index_expr/1)
486486

487487
[
488488
[
@@ -502,7 +502,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
502502

503503
@impl true
504504
def execute_ddl({:create_if_not_exists, %Index{} = index}) do
505-
fields = intersperse_map(index.columns, ", ", &index_expr/1)
505+
fields = Enum.map_intersperse(index.columns, ", ", &index_expr/1)
506506

507507
[
508508
[
@@ -591,7 +591,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
591591

592592
@impl true
593593
def execute_ddl({:create, %Index{} = index}) do
594-
fields = intersperse_map(index.columns, ", ", &index_expr/1)
594+
fields = Enum.map_intersperse(index.columns, ", ", &index_expr/1)
595595

596596
[
597597
[
@@ -611,7 +611,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
611611
end
612612

613613
def execute_ddl({:create_if_not_exists, %Index{} = index}) do
614-
fields = intersperse_map(index.columns, ", ", &index_expr/1)
614+
fields = Enum.map_intersperse(index.columns, ", ", &index_expr/1)
615615

616616
[
617617
[
@@ -753,13 +753,13 @@ defmodule Ecto.Adapters.SQLite3.Connection do
753753
do: [fragment, ?\s]
754754

755755
defp conflict_target(targets) do
756-
[?(, intersperse_map(targets, ?,, &quote_name/1), ?), ?\s]
756+
[?(, Enum.map_intersperse(targets, ?,, &quote_name/1), ?), ?\s]
757757
end
758758

759759
defp replace(fields) do
760760
[
761761
"UPDATE SET "
762-
| intersperse_map(fields, ?,, fn field ->
762+
| Enum.map_intersperse(fields, ?,, fn field ->
763763
quoted = quote_name(field)
764764
[quoted, " = ", "EXCLUDED." | quoted]
765765
end)
@@ -864,7 +864,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
864864
defp select_fields([], _sources, _query), do: "1"
865865

866866
defp select_fields(fields, sources, query) do
867-
intersperse_map(fields, ", ", fn
867+
Enum.map_intersperse(fields, ", ", fn
868868
{:&, _, [idx]} ->
869869
case elem(sources, idx) do
870870
{source, _, nil} ->
@@ -906,7 +906,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
906906
sources
907907
) do
908908
recursive_opt = if recursive, do: "RECURSIVE ", else: ""
909-
ctes = intersperse_map(queries, ", ", &cte_expr(&1, sources, query))
909+
ctes = Enum.map_intersperse(queries, ", ", &cte_expr(&1, sources, query))
910910

911911
[
912912
"WITH ",
@@ -993,7 +993,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
993993

994994
defp using_join(%{joins: joins} = query, _kind, prefix, sources) do
995995
froms =
996-
intersperse_map(joins, ", ", fn
996+
Enum.map_intersperse(joins, ", ", fn
997997
%JoinExpr{qual: _qual, ix: ix, source: source} ->
998998
{join, name} = get_source(query, sources, ix, source)
999999
[join, " AS " | name]
@@ -1066,8 +1066,8 @@ defmodule Ecto.Adapters.SQLite3.Connection do
10661066
def group_by(%{group_bys: group_bys} = query, sources) do
10671067
[
10681068
" GROUP BY "
1069-
| intersperse_map(group_bys, ", ", fn %ByExpr{expr: expression} ->
1070-
intersperse_map(expression, ", ", &top_level_expr(&1, sources, query))
1069+
| Enum.map_intersperse(group_bys, ", ", fn %ByExpr{expr: expression} ->
1070+
Enum.map_intersperse(expression, ", ", &top_level_expr(&1, sources, query))
10711071
end)
10721072
]
10731073
end
@@ -1077,22 +1077,22 @@ defmodule Ecto.Adapters.SQLite3.Connection do
10771077
def window(%{windows: windows} = query, sources) do
10781078
[
10791079
" WINDOW "
1080-
| intersperse_map(windows, ", ", fn {name, %{expr: kw}} ->
1080+
| Enum.map_intersperse(windows, ", ", fn {name, %{expr: kw}} ->
10811081
[quote_name(name), " AS " | window_exprs(kw, sources, query)]
10821082
end)
10831083
]
10841084
end
10851085

10861086
defp window_exprs(kw, sources, query) do
1087-
[?(, intersperse_map(kw, ?\s, &window_expr(&1, sources, query)), ?)]
1087+
[?(, Enum.map_intersperse(kw, ?\s, &window_expr(&1, sources, query)), ?)]
10881088
end
10891089

10901090
defp window_expr({:partition_by, fields}, sources, query) do
1091-
["PARTITION BY " | intersperse_map(fields, ", ", &expr(&1, sources, query))]
1091+
["PARTITION BY " | Enum.map_intersperse(fields, ", ", &expr(&1, sources, query))]
10921092
end
10931093

10941094
defp window_expr({:order_by, fields}, sources, query) do
1095-
["ORDER BY " | intersperse_map(fields, ", ", &order_by_expr(&1, sources, query))]
1095+
["ORDER BY " | Enum.map_intersperse(fields, ", ", &order_by_expr(&1, sources, query))]
10961096
end
10971097

10981098
defp window_expr({:frame, {:fragment, _, _} = fragment}, sources, query) do
@@ -1106,7 +1106,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
11061106

11071107
[
11081108
" ORDER BY "
1109-
| intersperse_map(order_bys, ", ", &order_by_expr(&1, sources, query))
1109+
| Enum.map_intersperse(order_bys, ", ", &order_by_expr(&1, sources, query))
11101110
]
11111111
end
11121112

@@ -1288,7 +1288,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
12881288
end
12891289

12901290
defp expr({:in, _, [left, right]}, sources, query) when is_list(right) do
1291-
args = intersperse_map(right, ?,, &expr(&1, sources, query))
1291+
args = Enum.map_intersperse(right, ?,, &expr(&1, sources, query))
12921292
[expr(left, sources, query), " IN (", args, ?)]
12931293
end
12941294

@@ -1411,7 +1411,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
14111411
end
14121412

14131413
defp expr({:{}, _, elems}, sources, query) do
1414-
[?(, intersperse_map(elems, ?,, &expr(&1, sources, query)), ?)]
1414+
[?(, Enum.map_intersperse(elems, ?,, &expr(&1, sources, query)), ?)]
14151415
end
14161416

14171417
defp expr({:count, _, []}, _sources, _query), do: "count(*)"
@@ -1457,7 +1457,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
14571457
[op_to_binary(left, sources, query), op | op_to_binary(right, sources, query)]
14581458

14591459
{:fun, fun} ->
1460-
[fun, ?(, modifier, intersperse_map(args, ", ", &expr(&1, sources, query)), ?)]
1460+
[fun, ?(, modifier, Enum.map_intersperse(args, ", ", &expr(&1, sources, query)), ?)]
14611461
end
14621462
end
14631463

@@ -1607,7 +1607,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
16071607
end
16081608

16091609
defp column_definitions(table, columns) do
1610-
intersperse_map(columns, ", ", &column_definition(table, &1))
1610+
Enum.map_intersperse(columns, ", ", &column_definition(table, &1))
16111611
end
16121612

16131613
defp column_definition(table, {:add, name, %Reference{} = ref, opts}) do
@@ -1900,7 +1900,7 @@ defmodule Ecto.Adapters.SQLite3.Connection do
19001900
end
19011901
end
19021902

1903-
defp quote_names(names), do: intersperse_map(names, ?,, &quote_name/1)
1903+
defp quote_names(names), do: Enum.map_intersperse(names, ?,, &quote_name/1)
19041904

19051905
def quote_name(name), do: quote_entity(name)
19061906

@@ -1918,20 +1918,6 @@ defmodule Ecto.Adapters.SQLite3.Connection do
19181918

19191919
defp quote_entity(val), do: [[?", val, ?"]]
19201920

1921-
defp intersperse_map(list, separator, mapper, acc \\ [])
1922-
1923-
defp intersperse_map([], _separator, _mapper, acc) do
1924-
acc
1925-
end
1926-
1927-
defp intersperse_map([elem], _separator, mapper, acc) do
1928-
[acc | mapper.(elem)]
1929-
end
1930-
1931-
defp intersperse_map([elem | rest], separator, mapper, acc) do
1932-
intersperse_map(rest, separator, mapper, [acc, mapper.(elem), separator])
1933-
end
1934-
19351921
defp intersperse_reduce(list, separator, user_acc, reducer, acc \\ [])
19361922

19371923
defp intersperse_reduce([], _separator, user_acc, _reducer, acc),

0 commit comments

Comments
 (0)