UmaDbClient.Builder (uma_db_client v0.6.4)

Copy Markdown

Convenience constructors for UmaDB proto message structs.

These are thin wrappers around the generated UmaDb.V1.* structs. You can always build structs directly if you prefer.

Summary

Functions

Builds an UmaDb.V1.AppendCondition for optimistic concurrency.

Builds a UmaDb.V1.Query from a list of UmaDb.V1.QueryItem structs.

Builds a UmaDb.V1.QueryItem that matches events by type and/or tag.

Builds an UmaDb.V1.TrackingInfo to advance a named tracking cursor on append.

Functions

append_condition(opts \\ [])

@spec append_condition(keyword()) :: UmaDb.V1.AppendCondition.t()

Builds an UmaDb.V1.AppendCondition for optimistic concurrency.

Options

  • :fail_if_events_matchUmaDb.V1.Query; the append fails if any matching event exists
  • :after — only consider events after this position when evaluating the condition

event(type, tags \\ [], data \\ <<>>, metadata \\ [])

@spec event(String.t(), [String.t()], binary(), Enumerable.t()) :: UmaDb.V1.Event.t()

Builds an UmaDb.V1.Event struct.

metadata is a map or keyword list of {key, value} string pairs, each converted into an UmaDb.V1.MetadataEntry.

query(items)

@spec query([UmaDb.V1.QueryItem.t()]) :: UmaDb.V1.Query.t()

Builds a UmaDb.V1.Query from a list of UmaDb.V1.QueryItem structs.

query_item(types \\ [], tags \\ [])

@spec query_item([String.t()], [String.t()]) :: UmaDb.V1.QueryItem.t()

Builds a UmaDb.V1.QueryItem that matches events by type and/or tag.

tracking_info(source, position)

@spec tracking_info(String.t(), non_neg_integer()) :: UmaDb.V1.TrackingInfo.t()

Builds an UmaDb.V1.TrackingInfo to advance a named tracking cursor on append.