Content-Length: 327529 | pFad | http://github.com/electric-sql/electric/commit/d0fab07d844cd7f21f3a8d80a909432c7930e5ae

4B use denser implementation of uuid decoding func · electric-sql/electric@d0fab07 · GitHub
Skip to content

Commit d0fab07

Browse files
committed
use denser implementation of uuid decoding func
1 parent 810592d commit d0fab07

File tree

1 file changed

+10
-23
lines changed

1 file changed

+10
-23
lines changed

packages/elixir-client/lib/electric/client/ecto_adapter.ex

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -239,29 +239,16 @@ if Code.ensure_loaded?(Ecto) do
239239

240240
@compile {:inline, d: 1}
241241

242-
defp d(?0), do: 0
243-
defp d(?1), do: 1
244-
defp d(?2), do: 2
245-
defp d(?3), do: 3
246-
defp d(?4), do: 4
247-
defp d(?5), do: 5
248-
defp d(?6), do: 6
249-
defp d(?7), do: 7
250-
defp d(?8), do: 8
251-
defp d(?9), do: 9
252-
defp d(?A), do: 10
253-
defp d(?B), do: 11
254-
defp d(?C), do: 12
255-
defp d(?D), do: 13
256-
defp d(?E), do: 14
257-
defp d(?F), do: 15
258-
defp d(?a), do: 10
259-
defp d(?b), do: 11
260-
defp d(?c), do: 12
261-
defp d(?d), do: 13
262-
defp d(?e), do: 14
263-
defp d(?f), do: 15
264-
defp d(_), do: throw(:error)
242+
for {r, o} <- [{?0..?9, 0}, {?A..?F, 10}, {?a..?f, 10}], {c, i} <- Enum.with_index(r, o) do
243+
defp d(unquote(c)), do: unquote(i)
244+
end
245+
246+
defp d(c) do
247+
raise Ecto.CastError,
248+
type: Ecto.UUID,
249+
value: to_string([c]),
250+
message: "Invalid char in UUID \"#{[c]}\""
251+
end
265252

266253
@problematic_clauses [
267254
joins: "JOIN",

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/electric-sql/electric/commit/d0fab07d844cd7f21f3a8d80a909432c7930e5ae

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy