WeaviateEx.Backup.Compression (WeaviateEx v0.7.4)

View Source

Backup compression level options.

GZIP Compression Levels

  • :default - Balanced GZIP compression (default)
  • :best_speed - Faster GZIP compression, larger files
  • :best_compression - Slower GZIP compression, smaller files

ZSTD Compression Levels

  • :zstd_default - Balanced ZSTD compression
  • :zstd_best_speed - Faster ZSTD compression, larger files
  • :zstd_best_compression - Slower ZSTD compression, smaller files

No Compression

  • :no_compression - No compression (fastest, largest files)

Examples

iex> Compression.to_api(:best_speed)
"BestSpeed"

iex> Compression.to_api(:zstd_default)
"ZstdDefaultCompression"

iex> Compression.from_api("BestCompression")
{:ok, :best_compression}

iex> Compression.gzip?(:default)
true

iex> Compression.zstd?(:zstd_best_speed)
true

Summary

Functions

List all available compression levels.

Parse from API response.

Check if compression level is a GZIP variant.

Convert to API format.

Check if compression level is valid.

Check if compression level is a ZSTD variant.

Types

t()

@type t() ::
  :default
  | :best_speed
  | :best_compression
  | :zstd_default
  | :zstd_best_speed
  | :zstd_best_compression
  | :no_compression

Functions

all()

@spec all() :: [t()]

List all available compression levels.

Examples

iex> Compression.all()
[:default, :best_speed, :best_compression, :zstd_default, :zstd_best_speed, :zstd_best_compression, :no_compression]

from_api(arg1)

@spec from_api(String.t()) :: {:ok, t()} | {:error, :invalid_compression}

Parse from API response.

Examples

iex> Compression.from_api("BestSpeed")
{:ok, :best_speed}

iex> Compression.from_api("ZstdDefaultCompression")
{:ok, :zstd_default}

iex> Compression.from_api("invalid")
{:error, :invalid_compression}

gzip?(level)

@spec gzip?(atom()) :: boolean()

Check if compression level is a GZIP variant.

Examples

iex> Compression.gzip?(:default)
true

iex> Compression.gzip?(:zstd_default)
false

to_api(atom)

@spec to_api(t()) :: String.t()

Convert to API format.

Examples

iex> Compression.to_api(:default)
"DefaultCompression"

iex> Compression.to_api(:best_speed)
"BestSpeed"

iex> Compression.to_api(:zstd_default)
"ZstdDefaultCompression"

iex> Compression.to_api(:no_compression)
"NoCompression"

valid?(level)

@spec valid?(atom()) :: boolean()

Check if compression level is valid.

Examples

iex> Compression.valid?(:best_speed)
true

iex> Compression.valid?(:zstd_default)
true

iex> Compression.valid?(:invalid)
false

zstd?(level)

@spec zstd?(atom()) :: boolean()

Check if compression level is a ZSTD variant.

Examples

iex> Compression.zstd?(:zstd_default)
true

iex> Compression.zstd?(:default)
false