![]() |
ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
|
| ▼ src | |
| ▼ semiring | |
| Boolean.h | Boolean semiring ({false, true}, ∨, ∧, false, true) |
| BoolExpr.h | Boolean-expression (lineage formula) semiring |
| Counting.h | Counting semiring (ℕ, +, ×, 0, 1) |
| Formula.h | Symbolic formula semiring producing readable provenance expressions |
| Semiring.h | Abstract semiring interface for provenance evaluation |
| Why.h | Why-provenance semiring (set of witness sets) |
| agg_token.c | PostgreSQL I/O functions and cast for the agg_token composite type |
| agg_token.h | Aggregate-provenance token type used in SQL aggregate functions |
| Aggregation.cpp | Aggregation operator and accumulator implementations |
| Aggregation.h | Typed aggregation value, operator, and aggregator abstractions |
| aggregation_evaluate.c | SQL function provsql.aggregation_evaluate() – aggregate provenance evaluation |
| BooleanCircuit.cpp | Boolean circuit implementation and evaluation algorithms |
| BooleanCircuit.h | Boolean provenance circuit with support for knowledge compilation |
| c_cpp_compatibility.h | Fix gettext macro conflicts between PostgreSQL and the C++ STL |
| Circuit.h | Generic directed-acyclic-graph circuit template and gate identifier |
| Circuit.hpp | Out-of-line template method implementations for Circuit<gateType> |
| circuit_cache.h | C-linkage interface to the in-process provenance circuit cache |
| CircuitCache.cpp | LRU circuit-gate cache implementation and C-linkage wrappers |
| CircuitCache.h | LRU in-process cache for recently created provenance circuit gates |
| CircuitFromMMap.cpp | Build in-memory circuits from the mmap-backed store |
| CircuitFromMMap.h | Build in-memory circuits from the mmap-backed persistent store |
| compatibility.c | Backport implementations for missing PostgreSQL API functions |
| compatibility.h | PostgreSQL cross-version compatibility shims for ProvSQL |
| dDNNF.cpp | D-DNNF circuit operations and evaluation algorithms |
| dDNNF.h | Decomposable Deterministic Negation Normal Form circuit |
| dDNNFTreeDecompositionBuilder.cpp | D-DNNF construction from a Boolean circuit and its tree decomposition |
| dDNNFTreeDecompositionBuilder.h | Constructs a d-DNNF from a Boolean circuit and its tree decomposition |
| DotCircuit.cpp | DotCircuit method implementations and GraphViz rendering |
| DotCircuit.h | Provenance circuit variant that renders to GraphViz DOT format |
| flat_map.hpp | Flat (unsorted, contiguous-storage) associative map template |
| flat_set.hpp | Flat (unsorted, contiguous-storage) set template |
| GenericCircuit.cpp | GenericCircuit method implementations |
| GenericCircuit.h | Semiring-agnostic in-memory provenance circuit |
| GenericCircuit.hpp | Template implementation of GenericCircuit::evaluate() |
| Graph.h | Undirected graph used in tree-decomposition computations |
| having_semantics.cpp | HAVING-clause provenance evaluation for all built-in semirings |
| having_semantics.hpp | Provenance evaluation helpers for HAVING-clause circuits |
| MMappedCircuit.cpp | Persistent mmap-backed circuit: implementation and background-worker entry points |
| MMappedCircuit.h | Persistent, mmap-backed storage for the full provenance circuit |
| MMappedUUIDHashTable.cpp | Open-addressing hash table over a memory-mapped file: implementation |
| MMappedUUIDHashTable.h | Open-addressing hash table mapping UUIDs to integers, backed by an mmap file |
| MMappedVector.h | Append-only vector template backed by a memory-mapped file |
| MMappedVector.hpp | Template implementation of MMappedVector<T> |
| PermutationStrategy.h | Priority-queue-based node-elimination ordering for tree decomposition |
| probability_evaluate.cpp | SQL function provsql.probability_evaluate() – probabilistic circuit evaluation |
| provenance.c | SQL function provenance() – error stub for untracked tables |
| provenance_evaluate.c | SQL function provsql.provenance_evaluate() – semiring evaluation |
| provenance_evaluate_compiled.cpp | SQL function provsql.provenance_evaluate_compiled() – C++ semiring evaluation |
| provenance_evaluate_compiled.hpp | Template helper for populating provenance mappings from SPI results |
| provsql.c | PostgreSQL planner hook for transparent provenance tracking |
| provsql_error.h | Uniform error-reporting macros for ProvSQL |
| provsql_mmap.c | Background worker registration and IPC primitives for mmap-backed storage |
| provsql_mmap.h | Background worker and IPC primitives for mmap-backed circuit storage |
| provsql_shmem.c | Shared-memory segment lifecycle and LWLock management |
| provsql_shmem.h | Shared-memory segment and inter-process pipe management |
| provsql_utils.c | OID lookup, constants cache, and utility functions for ProvSQL |
| provsql_utils.h | Core types, constants, and utilities shared across ProvSQL |
| provsql_utils_cpp.cpp | C++ UUID utility function implementations |
| provsql_utils_cpp.h | C++ utility functions for UUID manipulation |
| shapley.cpp | SQL functions for Shapley and Banzhaf power-index computation |
| subset.cpp | Valid-world enumeration for aggregate HAVING predicates |
| subset.hpp | Enumerate tuple subsets satisfying an aggregate HAVING predicate |
| to_prov.cpp | SQL function provsql.to_provxml() – XML/JSON circuit export |
| TreeDecomposition.cpp | Tree decomposition construction, manipulation, and I/O |
| TreeDecomposition.h | Tree decomposition of a Boolean circuit for knowledge compilation |
| TreeDecompositionKnowledgeCompiler.cpp | Standalone tdkc tool: tree-decomposition-based knowledge compiler |
| view_circuit.cpp | SQL function provsql.view_circuit() – GraphViz DOT circuit visualisation |
| where_provenance.cpp | SQL function provsql.where_provenance() – column-level provenance |
| WhereCircuit.cpp | WhereCircuit method implementations and where-provenance evaluation |
| WhereCircuit.h | Where-provenance circuit tracking column-level data origin |