Zvex.Native (zvex v0.4.7)

Copy Markdown View Source

Low-level NIF bindings to the zvec C API.

At compile time the host target triple drives a single decision:

  • Supported target and ZVEX_BUILD unset — download the zvex-v<version> GitHub release tarball (NIF + libzvec_c_api), verify via SHA-256, and unpack into priv/lib. No Makefile, no Zig toolchain required.
  • Unsupported target, or ZVEX_BUILD=1 — build everything from source via elixir_make (Makefile builds libzvec_c_api) plus Zigler (compiles the NIF). Requires the Zig toolchain, CMake, and a C/C++ compiler.

Download failures on a supported target raise — they do not silently fall back to source. Set ZVEX_BUILD=1 to take the source path.

Prefer using the higher-level Zvex module API over calling these functions directly.

Summary

Functions

check_version(arg1, arg2, arg3)

collection_add_column(arg1, arg2, arg3)

collection_alter_column(arg1, arg2, arg3, arg4)

collection_close(arg1)

collection_create_and_open(arg1, arg2, arg3)

collection_create_index(arg1, arg2, arg3)

collection_delete(arg1, arg2)

collection_delete_by_filter(arg1, arg2)

collection_delete_with_results(arg1, arg2)

collection_drop_column(arg1, arg2)

collection_drop_index(arg1, arg2)

collection_fetch(arg1, arg2)

collection_field_names(arg1, arg2)

collection_flush(arg1)

collection_get_options(arg1)

collection_get_schema(arg1)

collection_get_stats(arg1)

collection_has_field(arg1, arg2)

collection_has_index(arg1, arg2)

collection_insert(arg1, arg2)

collection_insert_with_results(arg1, arg2)

collection_open(arg1, arg2)

collection_optimize(arg1)

collection_query(arg1, arg2)

collection_update(arg1, arg2)

collection_update_with_results(arg1, arg2)

collection_upsert(arg1, arg2)

collection_upsert_with_results(arg1, arg2)

doc_deserialize(arg1)

doc_detail_string(arg1)

doc_memory_usage(arg1)

doc_serialize(arg1)

initialize()

initialize_with_config(arg1)

is_initialized()

shutdown()

version()

version_major()

version_minor()

version_patch()