Ferricstore.Flow.Query (ferricstore v0.10.1)

Copy Markdown View Source

Versioned Flow query entry point for embedded/reference execution.

Native server traffic uses the Rust parser and then calls execute/2 with the same canonical request. The Elixir parser remains an independent oracle.

Summary

Functions

error_message(reason)

@spec error_message(atom()) :: binary()

See Ferricstore.Flow.Query.Error.message/1.

execute(ctx, request)

@spec execute(FerricStore.Instance.t() | map(), Ferricstore.Flow.Query.Request.t()) ::
  {:ok, term()} | {:error, term()}

execute_reference(ctx, version, query, params)

@spec execute_reference(FerricStore.Instance.t() | map(), binary(), binary(), map()) ::
  {:ok, term()} | {:error, term()}

validate_version(version)

@spec validate_version(term()) :: :ok | {:error, :unsupported_query_version}