chore: use uuids instead of unique integer for performance reasons

This commit is contained in:
Zach Daniel 2023-10-03 13:42:01 -04:00
parent 37b0c4d9d0
commit 1042ea14fd
5 changed files with 7 additions and 7 deletions

View file

@ -232,7 +232,7 @@ defmodule Ash.Engine do
state =
%__MODULE__{
ref: make_ref(),
id: System.unique_integer([:positive, :monotonic]),
id: Ash.UUID.generate(),
resolved_fields: %{},
actor: opts[:actor],
return_notifications?: opts[:return_notifications?],

View file

@ -356,7 +356,7 @@ defmodule Ash.Flow.Executor.AshEngine do
get_dep_paths(all_steps, deps, transaction_name, wait_for_deps ++ halt_if_deps)
request_deps = dependable_request_paths(dep_paths)
id = System.unique_integer()
id = Ash.UUID.generate()
[
Ash.Engine.Request.new(

View file

@ -292,13 +292,13 @@ defmodule Ash.Query.Aggregate do
defp validate_query(_resource, %Ash.Query{} = query) do
cond do
query.load != [] ->
{:error, "Cannot load in an aggregate"}
{:error, "Cannot load in an aggregate."}
not is_nil(query.limit) ->
{:error, "Cannot limit an aggregate (for now)"}
{:error, "Cannot limit an aggregate."}
not (is_nil(query.offset) || query.offset == 0) ->
{:error, "Cannot offset an aggregate (for now)"}
{:error, "Cannot offset an aggregate."}
true ->
{:ok, query}

View file

@ -12,7 +12,7 @@ defmodule Ash.Tracer.Simple do
@impl true
def start_span(type, name) do
context = get_span_context()
id = System.unique_integer()
id = Ash.UUID.generate()
spans = Process.get(:tracer_spans, [])

View file

@ -31,7 +31,7 @@
"plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"},
"sobelow": {:hex, :sobelow, "0.13.0", "218afe9075904793f5c64b8837cc356e493d88fddde126a463839351870b8d1e", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "cd6e9026b85fc35d7529da14f95e85a078d9dd1907a9097b3ba6ac7ebbe34a0d"},
"sourceror": {:hex, :sourceror, "0.14.0", "b6b8552d0240400d66b6f107c1bab7ac1726e998efc797f178b7b517e928e314", [:mix], [], "hexpm", "809c71270ad48092d40bbe251a133e49ae229433ce103f762a2373b7a10a8d8b"},
"spark": {:hex, :spark, "1.1.40", "b61438fece40eb0ffed7c4c9e5f1c2c817209902ed853b0008b7681b1994c29c", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.5 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:sourceror, "~> 0.1", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "40d0f803f1090249ef6a76cb2bf40466c57f4995326dc97996e0b8b4f365ad17"},
"spark": {:hex, :spark, "1.1.41", "c34c7bec8b91f8af05690b5500b5287a319c10887a2e1db6fa5e203289ba62c8", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.5 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:sourceror, "~> 0.1", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "908548f3cbf84d402869e1caf7b5a78492e7d171fe492affc02748f2a51746ff"},
"statistex": {:hex, :statistex, "1.0.0", "f3dc93f3c0c6c92e5f291704cf62b99b553253d7969e9a5fa713e5481cd858a5", [:mix], [], "hexpm", "ff9d8bee7035028ab4742ff52fc80a2aa35cece833cf5319009b52f1b5a86c27"},
"stream_data": {:hex, :stream_data, "0.6.0", "e87a9a79d7ec23d10ff83eb025141ef4915eeb09d4491f79e52f2562b73e5f47", [:mix], [], "hexpm", "b92b5031b650ca480ced047578f1d57ea6dd563f5b57464ad274718c9c29501c"},
"telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},