ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
src Directory Reference
Directory dependency graph for src:
/home/senellar/git/software/provsql/src

Directories

 
semiring

Files

 
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.
 
AggMarginalEvaluator.cpp
 Implementation of the safe-join aggregate marginal-vector pre-pass (COUNT / SUM / MIN / MAX).
 
AggMarginalEvaluator.h
 Exact closed-form HAVING COUNT(*) op C probability over safe-join lineage – the recursive marginal-vector engine of the Ré-Suciu HAVING trichotomy (see doc/source/dev/probability-evaluation.rst).
 
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.
 
AnalyticEvaluator.cpp
 Implementation of the closed-form CDF resolution pass.
 
AnalyticEvaluator.h
 Closed-form CDF resolution for trivial gate_cmp shapes.
 
BooleanCircuit.cpp
 Boolean circuit implementation and evaluation algorithms.
 
BooleanCircuit.h
 Boolean provenance circuit with support for knowledge compilation.
 
c_cpp_compatibility.h
 Fix macro conflicts between PostgreSQL headers and the C++ STL/Boost.
 
CertifiedDDMaterialize.cpp
 Implementation of certified-d-D materialisation into the store.
 
CertifiedDDMaterialize.h
 Content-addressed materialisation of a certified d-D into the mmap provenance store.
 
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.
 
classify_query.c
 Query-time TID / BID / OPAQUE classifier.
 
classify_query.h
 Public surface of the query-time TID / BID / OPAQUE classifier.
 
CmpEvaluatorCommon.cpp
 Implementation of the shared HAVING gate_cmp evaluator machinery.
 
CmpEvaluatorCommon.h
 Shared machinery for the closed-form HAVING gate_cmp probability evaluators (Poisson-binomial COUNT, MIN / MAX…).
 
compatibility.c
 Backport implementations for missing PostgreSQL API functions.
 
compatibility.h
 PostgreSQL cross-version compatibility shims for ProvSQL.
 
compile_to_ddnnf.cpp
 SQL function provsql.compile_to_ddnnf() – return the compiled d-DNNF of a provenance circuit as c2d / d4 ".nnf" text.
 
compile_to_ddnnf_dot.cpp
 SQL function provsql.compile_to_ddnnf_dot() – render the compiled d-DNNF of a provenance circuit as GraphViz DOT.
 
CountCmpEvaluator.cpp
 Implementation of the Poisson-binomial pre-pass.
 
CountCmpEvaluator.h
 Closed-form Poisson-binomial CDF resolution for HAVING COUNT(*) op C gate_cmps.
 
dDNNF.cpp
 d-DNNF circuit operations and evaluation algorithms.
 
dDNNF.h
 Decomposable Deterministic Negation Normal Form circuit.
 
ddnnf_stats.cpp
 SQL function provsql.ddnnf_stats() – structural statistics of the d-DNNF a given compiler produces for a provenance 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.
 
dimacs_cnf.cpp
 Implementation of the DIMACS-CNF to BooleanCircuit parser.
 
dimacs_cnf.h
 Parse a DIMACS CNF into a ProvSQL BooleanCircuit.
 
DotCircuit.cpp
 DotCircuit method implementations and GraphViz rendering.
 
DotCircuit.h
 Provenance circuit variant that renders to GraphViz DOT format.
 
DTree.cpp
 Implementation of the d-tree anytime interval-bounds engine.
 
DTree.h
 Anytime interval-bounds probability for monotone DNFs (d-trees).
 
Expectation.cpp
 Implementation of the analytical expectation / variance / moment evaluator over scalar RV sub-circuits.
 
Expectation.h
 Analytical expectation / variance / moment evaluator over RV circuits.
 
external_tool.cpp
 Implementation of the external-tool helpers.
 
external_tool.h
 Helpers for invoking external command-line tools.
 
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
 Helper definitions for HAVING-clause provenance evaluation.
 
having_semantics.hpp
 Provenance evaluation helper for HAVING-clause circuits.
 
HybridEvaluator.cpp
 Implementation of the peephole simplifier.
 
HybridEvaluator.h
 Peephole simplifier for continuous gate_arith sub-circuits.
 
joint_width_query.c
 Implementation of the planner-time UCQ recogniser (descriptor extraction).
 
joint_width_query.h
 Planner-time recognition of unsafe UCQs for the joint-width compiler.
 
JointEncoding.cpp
 The data-graph fast-path encoding.
 
JointEncoding.h
 Phase A of the joint-width UCQ compiler: assemble the joint graph of the data and its correlation structure, and the per-fact gating information the homomorphism DP consumes.
 
kcmcp_client.cpp
 Implementation of the in-extension KCMCP client (see kcmcp_client.h).
 
kcmcp_client.h
 In-extension KCMCP client: compile a Boolean problem on a warm, socket-attached knowledge compiler instead of spawning a CLI tool.
 
kcmcp_protocol.cpp
 Implementation of the KCMCP wire codec (see kcmcp_protocol.h).
 
kcmcp_protocol.h
 Wire codec for KCMCP, the Knowledge Compiler / Model Counter Protocol (see doc/source/dev/kc-server-protocol.rst).
 
kcmcp_server.cpp
 Implementation of the tdkc KCMCP reference server (see kcmcp_server.h and doc/source/dev/kc-server-protocol.rst).
 
kcmcp_server.h
 The tdkc KCMCP reference server.
 
kcmcp_supervisor.c
 Background worker that launches and supervises the managed KCMCP knowledge-compiler server (the "managed mode" of the KCMCP client).
 
MappedRegion.h
 File-backed memory region with two interchangeable backends.
 
MinMaxCmpEvaluator.cpp
 Implementation of the MIN / MAX closed-form pre-pass.
 
MinMaxCmpEvaluator.h
 Closed-form probability resolution for HAVING MIN(a) op C and MAX(a) op C gate_cmps.
 
MMappedCircuit.cpp
 Persistent mmap-backed circuit: implementation and background-worker entry points.
 
MMappedCircuit.h
 Persistent, mmap-backed storage for the full provenance circuit.
 
MMappedTableInfo.h
 Per-table provenance metadata persisted alongside the circuit store.
 
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>.
 
mobius_evaluate.cpp
 Möbius-inversion exact route for safe UCQs (the last missing exact route of the Dalvi-Suciu dichotomy).
 
mobius_evaluate.h
 Shared declaration for the Möbius-route probability sweep.
 
MonteCarloSampler.cpp
 Implementation of the RV-aware Monte Carlo sampler.
 
MonteCarloSampler.h
 Monte Carlo sampling over a GenericCircuit, RV-aware.
 
PermutationStrategy.h
 Priority-queue-based node-elimination ordering for tree decomposition.
 
probability_evaluate.cpp
 SQL function provsql.probability_evaluate() – probabilistic circuit evaluation.
 
ProbabilityMethod.h
 Catalog of probability-evaluation methods (Strategy + registry).
 
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_config.h
 Build-configuration switches shared across the C and C++ sources.
 
provsql_error.h
 Uniform error-reporting macros for ProvSQL.
 
provsql_migrate_mmap.cpp
 Migrate old flat provsql mmap files to the per-database layout.
 
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.
 
qual_classify.c
 Implementation of the shared predicate-tree classification helpers.
 
qual_classify.h
 Predicate-tree classification helpers shared by the query rewriters (the safe-query rewrite and the joint-width UCQ recogniser).
 
random_variable_type.c
 PostgreSQL I/O and constructor functions for the random_variable type.
 
RandomVariable.cpp
 Implementation of distribution parsing/formatting/moments.
 
RandomVariable.h
 Continuous random-variable helpers (distribution parsing, moments).
 
RangeCheck.cpp
 Implementation of the support-based bound check pass.
 
RangeCheck.h
 Support-based bound check for continuous-RV comparators.
 
reachability_evaluate.cpp
 SQL entry points for decomposition-aligned reachability compilation over bounded-treewidth data.
 
ReachabilityCompiler.cpp
 Implementation of the decomposition-aligned reachability compiler.
 
ReachabilityCompiler.h
 Decomposition-aligned compilation of two-terminal reachability over bounded-treewidth data into a d-D.
 
RvAnalyticalCurves.cpp
 SQL function provsql.rv_analytical_curves(token, samples, prov).
 
RvHistogram.cpp
 SQL function provsql.rv_histogram(token, bins).
 
RvSample.cpp
 SQL function provsql.rv_sample(token, n, prov).
 
safe_query.c
 Hierarchical-CQ rewriter for the 'boolean' provenance class (provsql.provenance GUC).
 
safe_query.h
 Public surface of the safe-query (hierarchical-CQ) rewriter.
 
safe_query_cert.c
 Serialise / parse for the inversion-free tractability certificate.
 
safe_query_cert.h
 Tractability certificate for the inversion-free UCQ(OBDD) path.
 
scoped_tempdir.h
 
shapley.cpp
 SQL functions for Shapley and Banzhaf power-index computation.
 
SimplifiedSubgraph.cpp
 SQL function provsql.simplified_circuit_subgraph().
 
StructuredDNNF.cpp
 Implementation of the structured-d-DNNF builder (see StructuredDNNF.h).
 
StructuredDNNF.h
 In-process structured-d-DNNF construction over a query-derived variable order, for the inversion-free UCQ(OBDD) probability path.
 
subset.cpp
 Valid-world enumeration for aggregate HAVING predicates.
 
subset.hpp
 Enumerate tuple subsets satisfying an aggregate HAVING predicate.
 
SumCmpEvaluator.cpp
 Implementation of the weighted-sum DP pre-pass.
 
SumCmpEvaluator.h
 Closed-form probability resolution for HAVING SUM(a) op C gate_cmps via a weighted-sum DP.
 
tdkc_interrupt.h
 Build-loop interrupt hook for the standalone tdkc binary.
 
to_prov.cpp
 SQL function provsql.to_provxml() – XML/JSON circuit export.
 
tool_available.cpp
 SQL function provsql.tool_available() – report whether an external tool is on the backend's resolved PATH.
 
tool_registry_sql.cpp
 SQL surface for the external-tool registry (ToolRegistry.h).
 
tool_registry_sync.h
 Reload the in-memory external-tool registry from its persistent overrides.
 
ToolRegistry.cpp
 Seed and mutation logic for the external-tool registry.
 
ToolRegistry.h
 In-memory catalog of the external tools ProvSQL can invoke.
 
tree_decomposition_dot.cpp
 SQL function provsql.tree_decomposition_dot() – return a GraphViz DOT visualisation of the tree decomposition of the provenance circuit's primal graph.
 
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.
 
tseytin_cnf.cpp
 SQL function provsql.tseytin_cnf() – return the DIMACS CNF produced by the Tseytin transformation of a provenance circuit.
 
ucq_joint_evaluate.cpp
 SQL entry points for the joint-width UCQ compiler.
 
UCQJointCompiler.cpp
 Implementation of the joint-width UCQ compiler's homomorphism DP (data-graph regime).
 
UCQJointCompiler.h
 Phase C of the joint-width UCQ compiler: a UCQ-specialised homomorphism-type DP that runs directly over a tree decomposition of the joint encoding, emitting a certified d-D (deterministic, decomposable circuit) by construction.
 
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.