12#include <cjson/cJSON.h>
cwist_error_t cwist_db_query(cwist_db *db, const char *sql, cJSON **result)
Execute a SQL query and collect every row into a cJSON array.
cwist_error_t cwist_db_open(cwist_db **db, const char *path)
Open a SQLite database and wrap the resulting connection in a CWIST handle.
cwist_error_t cwist_db_exec(cwist_db *db, const char *sql)
Execute an arbitrary SQL statement string without returning rows.
cwist_error_t cwist_db_serialize(cwist_db *db, void **out, size_t *out_len)
Serialize a CWIST database into a freshly allocated image buffer.
struct cwist_db cwist_db
Wrapper for Database Operations. Currently uses SQLite3.
cwist_error_t cwist_db_query_strict(cwist_db *db, const char *sql, cJSON **result, const cwist_schema_t *schema)
Execute a SELECT query and strictly validate each result row.
cwist_error_t cwist_db_open_memory(cwist_db **db, const void *buf, size_t len, int readonly)
Open a CWIST database from an in-memory SQLite image.
void cwist_db_close(cwist_db *db)
Close a CWIST database wrapper and its underlying SQLite connection.
cwist_error_t cwist_db_insert_healed(cwist_db *db, const char *table, const char *json_str, const cwist_schema_t *schema, const cwist_heal_config_t *heal_cfg)
Insert a (possibly broken) JSON object into a table with self-healing.
Self-Healing JSON Recovery Layer (CWIST)
Wrapper for Database Operations. Currently uses SQLite3.
Integrated error structure used throughout the system.
Configuration passed to cwist_json_heal().
A complete schema: array of field descriptors + count.
Unified error code and type definitions for the CWIST system layer.
Strict JSON schema validation (Zod-style) for CWIST.