ExScylla.Types (ex_scylla v0.10.2)

Copy Markdown

This module defines the core type hierarchy and aliases used throughout the ExScylla library. It provides Elixir type specs that map to the underlying Rust Scylla driver types.

Summary

Types

batch()

@opaque batch()

batch_type()

@type batch_type() :: :logged | :unlogged | :counter

cluster_state()

@type cluster_state() :: ExScylla.Types.ClusterState.t()

column_type()

@type column_type() ::
  {:custom, String.t()}
  | :ascii
  | :boolean
  | :blob
  | :counter
  | :date
  | :decimal
  | :double
  | :duration
  | :float
  | :int
  | :big_int
  | :text
  | :timestamp
  | :inet
  | {:list, column_type()}
  | {:map, {column_type(), column_type()}}
  | {:set, column_type()}
  | {:user_defined_type, ExScylla.Types.UserDefinedColumnType.t()}
  | :small_int
  | :tiny_int
  | :time
  | :timeuuid
  | {:tuple, [column_type()]}
  | :uuid
  | :varint

consistency()

@type consistency() ::
  :any
  | :one
  | :two
  | :three
  | :quorum
  | :all
  | :local_quorum
  | :each_quorum
  | :local_one

default_policy_builder()

@opaque default_policy_builder()

duration_ms()

@type duration_ms() :: non_neg_integer()

execution_profile()

@opaque execution_profile()

execution_profile_builder()

@opaque execution_profile_builder()

execution_profile_handle()

@opaque execution_profile_handle()

latency_awareness_builder()

@opaque latency_awareness_builder()

load_balancing_policy()

@type load_balancing_policy() :: load_balancing_policy_resource()

load_balancing_policy_resource()

@opaque load_balancing_policy_resource()

metrics()

@type metrics() :: ExScylla.Types.Metrics.t()

msg()

@type msg() :: String.t()

paging_state()

@type paging_state() :: binary()

parse_error()

@type parse_error() :: {:error, {:parse_value, msg()}}

pool_size()

@type pool_size() :: {:per_host, pos_integer()} | {:per_shard, pos_integer()}

prepared_statement()

@opaque prepared_statement()

query()

@opaque query()

retry_policy()

@type retry_policy() :: :default_retry_policy | :fall_through_retry_policy

serial_consistency()

@type serial_consistency() :: :serial | :local_serial

session()

@opaque session()

session_builder()

@opaque session_builder()

speculative_execution_policy()

tracing_info()

@type tracing_info() :: ExScylla.Types.TracingInfo.t()

transport_compression()

@type transport_compression() :: :lz4 | :snappy

ts_micros()

@type ts_micros() :: integer()

uuid()

@type uuid() :: binary()

value()

@type value() ::
  {:ascii, String.t()}
  | {:boolean, boolean()}
  | {:blob, binary()}
  | {:counter, integer()}
  | {:decimal, String.t()}
  | {:date, non_neg_integer()}
  | {:double, float()}
  | {:duration, ExScylla.Types.CqlDuration.t()}
  | :empty
  | {:float, float()}
  | {:int, integer()}
  | {:big_int, integer()}
  | {:text, String.t()}
  | {:timestamp, integer()}
  | {:inet, :inet.ip_address()}
  | {:list, [value()]}
  | {:map, [{value(), value()}]}
  | {:set, [value()]}
  | {:user_defined_type, ExScylla.Types.UserDefinedType.t()}
  | {:small_int, integer()}
  | {:tiny_int, integer()}
  | {:time, integer()}
  | {:timeuuid, binary()}
  | {:tuple, [value() | nil]}
  | {:uuid, binary()}
  | {:varint, String.t()}

values()

@type values() :: [value()]