ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
compile_to_ddnnf_dot.cpp File Reference

SQL function provsql.compile_to_ddnnf_dot() – render the compiled d-DNNF of a provenance circuit as GraphViz DOT. More...

#include "postgres.h"
#include "fmgr.h"
#include "catalog/pg_type.h"
#include "utils/uuid.h"
#include "provsql_shmem.h"
#include "provsql_utils.h"
#include "c_cpp_compatibility.h"
#include "BooleanCircuit.h"
#include "CircuitFromMMap.h"
#include "dDNNF.h"
#include "provsql_utils_cpp.h"
#include "tool_registry_sync.h"
#include <string>
Include dependency graph for compile_to_ddnnf_dot.cpp:

Go to the source code of this file.

Functions

Datum compile_to_ddnnf_dot (PG_FUNCTION_ARGS)
 PostgreSQL-callable entry point.

Detailed Description

SQL function provsql.compile_to_ddnnf_dot() – render the compiled d-DNNF of a provenance circuit as GraphViz DOT.

Builds the Boolean circuit from the mmap-backed store, runs the requested external knowledge compiler (d4 / c2d / minic2d / dsharp) via BooleanCircuit::compilation(), and emits the resulting dDNNF as a DOT digraph. The string can be piped through dot(1) to produce an image, or rendered by Studio.

Definition in file compile_to_ddnnf_dot.cpp.

Function Documentation

◆ compile_to_ddnnf_dot()

Datum compile_to_ddnnf_dot ( PG_FUNCTION_ARGS )

PostgreSQL-callable entry point.

Arguments: token (uuid), compiler (text, default "d4"). Returns: DOT representation of the compiled d-DNNF.

Definition at line 43 of file compile_to_ddnnf_dot.cpp.

Here is the call graph for this function: